|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.12.2012, 13:56 | #1 |
Пользователь
Регистрация: 06.11.2012
Сообщений: 40
|
С++ Найти все четные четырехзначные числа, цифры которых следуют в порядке возрастания или убывания.
Этот код выводит одни нули. В чём тут дело? подскажите, пожалуйста
Код:
Последний раз редактировалось Anya She; 13.12.2012 в 14:20. |
13.12.2012, 14:40 | #2 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Прогоните код в отладчике и посмотрите. Или добавьте в цикл вывод значения i на каждой итерации и посмотрите.
Рекомендуемый способ лечения, когда осознаете проблему: написать отдельную функцию bool HasDigitsOrdered(int) и вызывать её в цикле. |
13.12.2012, 15:04 | #3 |
Пользователь
Регистрация: 06.11.2012
Сообщений: 40
|
У меня происходит зацикливание, если добавить в цикл вывод i. Проблему не нашла...
|
13.12.2012, 15:12 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Аня, ну так очевидно.
вы же i в цикле изменяете!! Так делать НЕЛЬЗЯ! Код:
Последний раз редактировалось Serge_Bliznykov; 13.12.2012 в 15:14. |
13.12.2012, 15:32 | #5 |
Пользователь
Регистрация: 06.11.2012
Сообщений: 40
|
Да, точно. нельзя изменять начальную переменную. Я ведь знала и упустила!! Но теперь у меня новая проблема. выводит просто все четырёхзначные чётные числа.. И это нужно написать без новой функции, такова задача.
|
13.12.2012, 15:37 | #6 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Отладчик.
Обратите внимание на то, когда срабатывает (и сколько раз проверяется) условие (n<k || n>k). |
13.12.2012, 16:55 | #7 |
Пользователь
Регистрация: 06.11.2012
Сообщений: 40
|
проверяется 4 раза, срабатывает, когда s становится =0. Этим мы определяем что цифры в числе идут по возрастанию или по убыванию..
|
13.12.2012, 17:07 | #8 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Цитата:
И срабатывать оно будет всякий раз, когда n!=k. А поскольку последний раз проверка сравнивает первую цифру числа с 0, то... |
|
13.12.2012, 17:12 | #9 |
С++, Delphi
Форумчанин
Регистрация: 24.11.2012
Сообщений: 495
|
давайте подумаем функция main
она генерирует рандомом кучу значений. с начало мы в цикле делаем числа, потом в цикле гоним все числа на синтаксис % 2 все элементы, ровняющийся 0, значит остатка нет и это чётное... их мы заложим в отдельный массив. после чего сортируем в порядке возрастания. за одно и провряем на критичность не выше 9999... и не ниже 1000... вот в целом идея. Код:
Если помог, тут весы есть , Вам не сложно, а мне приятно.
|
13.12.2012, 17:20 | #10 | ||
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Цитата:
Цитата:
|
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Дано натуральное число. Верно ли, что его цифры следуют в порядке возрастания справа налево? | iwataman | Помощь студентам | 12 | 04.12.2012 17:03 |
Программа, которая выводит на экран все четырехзначные числа, сумма цифр которых равна 7 | vitaaly | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 06.02.2012 15:46 |
найти все четырехзначные числа, в которых ровно две одинаковые цифры (турбо паскаль) | SkuLLL | Помощь студентам | 5 | 23.01.2012 19:23 |
С .в матрице, строку где все числа четные, расположить в обратном порядке. | daimonTM | Помощь студентам | 1 | 22.12.2010 10:02 |
Упорядочить цифры в порядке возрастания/убывания | doter | Общие вопросы C/C++ | 2 | 05.10.2010 17:57 |