Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 21.10.2019, 16:26   #1
fitelle
Новичок
Джуниор
 
Регистрация: 21.10.2019
Сообщений: 11
По умолчанию задача "Экономия чая" (Паскаль)

добрый вечер . помогите замучалась уже во вложении условия задачи. вот то что написала. вроде работает корректно. но проверочная прога не принимает. оценивает в 4 бала из 100 возможных за это задание.
Изображения
Тип файла: jpg задача.jpg (71.8 Кб, 42 просмотров)
Тип файла: jpg 111.jpg (32.3 Кб, 52 просмотров)
fitelle вне форума Ответить с цитированием
Старый 21.10.2019, 16:31   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,103
По умолчанию

Простой вопрос: в последнем if после цикла вы какой a[i] и накой проверяете?
p51x вне форума Ответить с цитированием
Старый 21.10.2019, 16:39   #3
fitelle
Новичок
Джуниор
 
Регистрация: 21.10.2019
Сообщений: 11
По умолчанию

В условии самого задания сказано, что переменная а должна быть меньше или равна 100.
fitelle вне форума Ответить с цитированием
Старый 21.10.2019, 16:41   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,260
По умолчанию

Цитата:
Сообщение от fitelle Посмотреть сообщение
В условии самого задания сказано, что переменная а должна быть меньше или равна 100.
за пределами цикла for i:=....
переменная цикла i НЕ ОПРЕДЕЛЕНА (она может быть равна нулю, может быть равна n+1, но использовать её после цикла FOR нельзя
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.10.2019, 16:45   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,103
По умолчанию

Да и смысла в той проверке нет, а n стоило проверят сразу, а не заполнять массив. Что будет с вашей програмой, если n ввести -1000 или 10000000000000000000?
p51x вне форума Ответить с цитированием
Старый 21.10.2019, 16:46   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,260
По умолчанию

и для олимпиадных задач входные условия проверять не надо (тем более, что проверять Вы их проверяете, но ничего не делаете, если условия не выполняются.
Но это и не надо. Ни делать, ни проверять. по условиям задачи - другие значение НЕВОЗМОЖНЫ.

кстати, массив здесь не нужен.
совсем.
сравните
Код:
var sum:int64;
  n, a : integer;
begin
  Read(n);
  sum:=0;
  for i:=1 to n do begin
    Read(a);
    sum := sum + a
  end;
  WriteLn(sum div 100)
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.10.2019, 17:08   #7
fitelle
Новичок
Джуниор
 
Регистрация: 21.10.2019
Сообщений: 11
По умолчанию

да так однозначно лучше!!!!!! теперь 52 бала из 100 возможных. я тоже делала вариант без массива. и результат тоже был на 4 бала.тоже накосячила
fitelle вне форума Ответить с цитированием
Старый 21.10.2019, 17:14   #8
fitelle
Новичок
Джуниор
 
Регистрация: 21.10.2019
Сообщений: 11
По умолчанию

спасибо вам огромное за помощь и науку
fitelle вне форума Ответить с цитированием
Старый 21.10.2019, 17:39   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,260
По умолчанию

Цитата:
Сообщение от fitelle Посмотреть сообщение
теперь 52 бала из 100 возможных.
а вот теперь я в затруднении.
у Вас точно sum типа Int64 ?
потому что, если это так, тогда я не вижу, почему не 100 баллов из 100 ?
Т.е. какие тесты этот код не прошёл?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.10.2019, 18:37   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,061
По умолчанию

Может турбо паскаль? Там longint для всех переменных вместо integer и int64, которого нет в том паскале, но он и не нужен - сумма не больше чем 2*10^7

зы, проглядел, абц, да еще нет
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 21.10.2019 в 18:46.
Аватар вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Экономия памяти в Lazarus Lazarus7 Паскаль, Turbo Pascal, PascalABC.NET 1 10.11.2013 17:24
Небольшая экономия памяти. Glut Inv1s Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 26.01.2012 12:18
Экономия скорости на массивах saggy Общие вопросы Delphi 15 17.07.2010 20:56
Радикальная экономия электроэнергии Levsha100 Свободное общение 4 01.05.2009 21:39


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840