|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.12.2017, 15:36 | #1 |
Новичок
Джуниор
Регистрация: 15.12.2017
Сообщений: 2
|
Найти сумму чисел. Не пойму в чем ошибка.
Текст задачи:
На стандартном потоке ввода задаётся последовательность целых чисел. Каждое число последовательности не меньше -20000000 и не больше 20000000. Всего последовательность состоит не более чем из 40 чисел. Последовательность завершается признаком конца ввода. На стандартный поток вывода напечатайте сумму этих чисел. Решение: Код:
Программа компилятора олимпиадных задач говорит, что решение неполное. И если можно ее как-то упростить то как? _____ Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ) Модератор Последний раз редактировалось Serge_Bliznykov; 15.12.2017 в 15:50. |
15.12.2017, 15:57 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
y обязательно обнулять перед использованием.
даже если компилятор это Вам позволяет, никогда не используйте неиницилизированные переменные! никогда! что касается вашей программы, то, если в строке будет более 40 чисел, ваш код должен зависнуть (перейти в бесконечный цикл). Впрочем, по условию задачи чисел не больше 40. поэтому и считать/проверять их количество я смысла не вижу: Код:
попробуйте взять и просуммировать тридцать чисел 19999999 Такой размер входит в диапазон представления longint? вот в этом и подвох. |
15.12.2017, 16:04 | #3 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Если проверяешь количество чисел и там вдруг больше 40, то бесконечный цикл получишь. А зачем вообще проверяешь? Признак конца ввода нужно ловить. А какой он?
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 15.12.2017 в 16:08. |
|
15.12.2017, 16:27 | #4 |
Новичок
Джуниор
Регистрация: 15.12.2017
Сообщений: 2
|
Такой вариант решения тоже пробовался изначально. Все равно вердикт "неполное решение" поэтому и стали заморачиваться с ограничениями по кол-ву символов в строке
Последний раз редактировалось No@ngel; 15.12.2017 в 16:28. Причина: Забыла процитировать |
15.12.2017, 16:58 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
ага, что то я обсчитался.
в longint диапазон до 2147483647, это на 107 таких чисел хватит. No@ngel, текст задания Вы точно скопировали? проверьте, сколько ноликов в числе. Иначе, я не вижу ни подвохов, ни причин, почему выдаётся "неполное решение"... погуглил. нашёл неоднократное упоминание задачи в интернете. действительно, там от -20000000 до 20000000. Задача тривиальная. Что-то не так либо с тестирующей программой, либо с тем, что программа тестирует что-то, что не оговорено в условиях задачи. Короче, сайт для тестирования -> в топку. Последний раз редактировалось Serge_Bliznykov; 15.12.2017 в 17:05. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
не пойму в чем ошибка | Sancheper | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 20.06.2012 22:56 |
Не пойму в чем ошибка | Snekich | Microsoft Office Excel | 5 | 18.12.2011 19:35 |
Не пойму в чем ошибка. Кто подскажет? | Wild_klas | Помощь студентам | 8 | 20.10.2010 09:05 |
не пойму в чем ошибка | Анастасия123456789 | Помощь студентам | 3 | 23.03.2009 15:53 |
Не пойму в чем ошибка | Machete | PHP | 2 | 08.12.2008 10:09 |