В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
Maxyim
Maxyim
10.02.2020 05:09 •  Информатика

Задача: Дано N чисел. Необходимо найти сумму чисел, которые меньше N, написать такую программу на паскале, я написал вот такой код: var a: array[1..10] of integer;
n,c,i:integer;
begin
readln(n);
for i:=1 to n do
begin
read(a[i]);
end;
c:=0;
for i:= 1 to n do
if a[i] < n then
c:= a[i]+c;
writeln(c);
end.

Проблема в том, что нужно что бы все вводимые числа были неотрицательные, целые и меньше 1001, как это сделать?

Ответ:
2005NeZnayka2005
2005NeZnayka2005
12.09.2021 06:00

Можно при вводе фильтровать что вводится, если число не удовлетворяет требованиям оно игнорируется

var a: array[1..10] of integer;

n,c,i:integer;

inp : real;

begin

   readln(n);

   i:=1;

   repeat

       readln(inp);

       c := round(inp);

       if (inp = c) and (inp >= 0.0) and (inp <1001.0) then

           begin

               a[i]:= c;

               i:=i+1;

           end;

   until(i=n+1);

   

   c:=0;

   for i:= 1 to n do

       if a[i] < n then

           c:= a[i]+c;

   writeln(c);

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?