Дана непустая последовательность натуральных чисел, за которой следует 0. Составьте программу нахождения суммы чисел этой последовательности.Запустите программу на выполнение...(ПО ПАСКАЛЮ..)

Дана непустая последовательность натуральных чисел, за которой следует 0. Составьте программу нахождения суммы чисел этой последовательности.Запустите программу на выполнение...(ПО ПАСКАЛЮ..)
Гость
Ответ(ы) на вопрос:
Гость
program P1; uses crt; var mas : array[1..100] of integer; i,ms,summ : integer; begin clrscr; writeln('Vvod massiva: '); ms := 1; repeat read(mas[ms]); inc(ms); until mas[ms-1] = 0; summ := 0; for i := 1 to ms-1 do summ := summ + mas[i]; writeln('Resultat: ',summ); readln; readln; end.
Гость
Немного дополню ответ коллеги VladimirGoryachev. а) В данной задаче не нужен массив. Нам сами числа не интересуют (нет цели специально выводить, например, 25-е число), а только их сумма. Поэтому будем просто сразу считать сумму. б) Если был бы и нужен массив, то не вполне очевидно, почему он должен быть именно в 100 элементов. Задачей никак не запрещается иметь, например, 101 ненулевое число. В этом случае программа Владимира либо будет работать неправильно, либо выдаст ошибку. в) Подключение библиотеки crt тут тоже не особо нужно. Не думаю, что возможность очистить экран (crt в данной программе используется только для этого) существенна. г) Можно ограничиться одним циклом, а не двумя.   С учетом вышенаписанного, код можно переписать так: program P1; var temp, summ : integer; begin    writeln('Vvod massiva: ');    summ:=0;    repeat      readln(temp);      summ:=summ+temp;    until temp = 0;    writeln('Resultat: ',summ);    readln end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы