Напечатать сумму, произведение и номера положительных элементов после последнего нулевого элемента

code: #pascal
uses crt;
var i,size,num,summa,pr,k:integer;
x:array[1..10000] of integer;
n:array[1..10000] of integer;
begin;
clrscr;
writeln('Введите размер массива');
readln(size);
FOR i := 1 TO size do
begin
clrscr;
writeln('Введите элементы массива');
readln(x[i]);
end;
writeln('Введенный массив');
FOR i := 1 TO size do
begin
writeln(x[i]);
IF x[i] = 0 THEN num := i;
end;
if num=0 then
begin
writeln('Нулевые элементы не найдены');
halt;
end;
pr := 1;
FOR i := num + 1 TO size do
begin
IF x[i] > 0 THEN
 begin
 summa := summa + x[i]; pr := pr * x[i]; k := k + 1; n[k] := i;
end;
end;
writeln('Номера положительных элементов после последнего 0');
FOR i := k TO size do
begin
writeln(n[i]);
end;
writeln('Сумма положительных элементов после последнего 0 равна ', summa);
writeln('Произведение положительных элементов после последнего 0 равна ', pr);
end.
Поделиться:

Похожие статьи: