
Задача: Дано 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, как это сделать?

Ответы на вопрос

Можно при вводе фильтровать что вводится, если число не удовлетворяет требованиям оно игнорируется
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.



Для решения данной задачи можно добавить несколько проверок в код, чтобы гарантировать, что все вводимые числа соответствуют условиям (неотрицательные, целые и меньше 1001).
Вот обновленный код:
var a: array[1..10] of integer; n, c, i: integer; begin readln(n); for i := 1 to n do begin read(a[i]); // Проверка на неотрицательность числа while a[i] < 0 do begin writeln('Введите неотрицательное число'); read(a[i]); end; // Проверка на целочисленность числа while frac(a[i]) <> 0 do begin writeln('Введите целое число'); read(a[i]); end; // Проверка на максимальное значение числа while a[i] >= 1001 do begin writeln('Введите число, меньшее 1001'); read(a[i]); end; end; c := 0; for i := 1 to n do begin if a[i] < n then c := c + a[i]; end; writeln(c); end.
Теперь программа будет запрашивать ввод числа до тех пор, пока не будет введено число, которое соответствует всем условиям (неотрицательное, целое и меньше 1001).


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