Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2013, 16:35   #1
linberg
Пользователь
 
Регистрация: 29.09.2013
Сообщений: 18
Печаль с++.операторы цикла while. do while. for. работают некорректно.

мне дали задание найти количество и сумму цифр числа в трех операторах цикла while. do while . for, и чтобы эти операторы работали одновременно, программу я написала, но почему-то первый цикл работает, а вот вторые работают неправильно, почему-то идет увеличение на единицу. подскажите как исправить или переписать, буду очень благодарна :3
Код:
int n ;
				    cout << " Enter n - > " ;
				    cin >> n ;
					cout << n << endl ;
					int sum = 0, Count = 0 ;
					while ( n != 0)
							{
							 sum += n % 10 ;
							 Count += 1 ;
							 n /= 10 ;
							}
					cout << " sum = " << sum << endl ;
					cout << " number = " << Count << endl ; 
					
					

					do 
					        { 
							 sum += n % 10 ;
							 Count += 1 ;
							 n /= 10;
							}while ( n != 0);
					cout << " sum = " << sum << endl ;
					cout << " number = " << Count << endl ; 
					
					

					for (; n > 0 ; )
						{	
							sum += n % 10 ;
							Count += 1 ;
							n /= 10 ;
						}
					cout << " sum = " << sum << endl ;
					cout << " number = " << Count << endl ; 
                    break;

Последний раз редактировалось linberg; 13.10.2013 в 16:49.
linberg вне форума Ответить с цитированием
Старый 13.10.2013, 16:48   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Не удивительно. Перед первым циклом ты вводишь n, которое изменяется в первом цикле:
Цитата:
n /= 10
И до второго оно уже равно нулю
Перед каждым циклом n запоминай в какую нить переменную, и после каждого цикла восстанавливай из нее. И не только ее, а и Count и sum
Цитата:
чтобы эти операторы работали одновременно
В таком случае представленное решение тянет на двойку.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.10.2013, 17:01   #3
linberg
Пользователь
 
Регистрация: 29.09.2013
Сообщений: 18
По умолчанию

огромное вам спасибо! все сделала, все заработало!
linberg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Небольшая проблемка. Dark Shadow Общие вопросы C/C++ 3 30.03.2012 15:18
Проблемка небольшая ChocoPie Помощь студентам 3 15.12.2011 19:25
небольшая проблемка _-Re@l-_ Софт 2 13.04.2010 21:24
Небольшая проблемка DirtyBASS Помощь студентам 2 05.10.2009 22:17
Небольшая проблемка Игорь777 Помощь студентам 1 02.05.2009 14:53