Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Центр помощи > [С++]Операторы цикла do...while |
Автор: Zotec 29.1.2012, 20:10 |
Известно число учеников в каждом из 20 классов школы. На сколько численность самого большого (по числу учеников) класса превышает численность самого маленького класса? |
Автор: darkart 29.1.2012, 21:30 | ||
|
Автор: Zotec 30.1.2012, 22:04 |
Спасибо! |
Автор: k0rvin 30.1.2012, 22:31 | ||||||||
Ты не прав. А помещать операцию изменения счетчика в проверку условия цикла вообще плохая практика. |
Автор: Mirkes 31.1.2012, 05:44 | ||||||
Я оставил в цикле только необходимое для разбора. Итак до начала цикла currentClassRoom = 1 после первого прохода 2 и т.д. То есть после 19-го прохода currentClassRoom =20 условие While не выполнилось и обработка 20-го класса не будет произведена. В чем я ошибся? Теперь по поводу
Я вообще то паскальщик, так что с моей точки зрения это не просто плохая практика... Предложил этот вариант просто потому, что он требовал наименьшей модификации кода. |
Автор: k0rvin 31.1.2012, 07:02 | ||||||||
В том, что в C, C++ и многих других ЯП принято начинать нумерацию с нуля и ввод первого (нулевого) класса происходит перед циклом, чтобы инициализировать минимальное и максимальное значения:
|
Автор: Mirkes 31.1.2012, 10:13 |
Верно, недосмотрел. Хотя ввод данных в двух местах тоже странная практика. Но все верно. |
Автор: k0rvin 31.1.2012, 11:26 | ||
Не всегда, в данном случае вполне уместна. |
Автор: volatile 1.2.2012, 01:03 |
Уместно то оно уместно, но только в данном учебном случае, с жестко заданным количеством В реальных программах так писать нельзя. Например программа обломится при кол-ве классов равном 1. (вполне, кстати, нормальное количество ![]() |
Автор: darkart 1.2.2012, 01:42 |
volatile, Подсказать как исправить? ![]() |
Автор: volatile 1.2.2012, 02:10 |
darkart, вопрос не ко мне. (Исправить думаю сможет любой, мало-мальски пишущий на С++, главное тут заметить проблему во-время ![]() |
Автор: Mirkes 1.2.2012, 03:07 |
Мне нужна подсказка. Причем язык значения не имеет. Но программа должна работать и при нулевом количестве классов. Именно это я имел в виду, когда писал Просто могу сказать по секрету, что когда студенты сдают мне такие программы, я подсовываю им нулевое количесство и заставляю его обработать. Хотя бы сообщить, что с такими значениями не работаем ![]() А насчет нулевых количеств классов в школах и других столь же якобы невозможных значений в профессиональной деятельности сталкиваюсь на каждом шагу. |
Автор: k0rvin 1.2.2012, 07:05 | ||
При чем тут жестко заданное количество, если речь идет об обработке только первого элемента вне цикла? Ты как иначе собрался инициализировать минимум и максимум? |
Автор: darkart 1.2.2012, 11:36 | ||
![]()
далее по программе парсинг строк ![]() |