begin Write('n = '); Read(n); Randomize; sn:=0; sp:=0; for i:=1 to n do begin a[i]:=Random(21)-10; Write(a[i],' '); if a[i]>0 then sp:=sp+a[i] else if a[i]<0 then sn:=sn+a[i] end; Writeln; Writeln('Сумма отрицательных ',sn,', сумма положительных ',sp) end.
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(10,-10,10);a.Println;
var (sum1,sum2):= (a.Where(t -> t > 0).Sum,a.Where(t -> t < 0).Sum);
Writeln(sum1, ' ', sum2);
end.
Пример:
5 -2 -3 6 -7 -8 -7 7 -1 4
22 -28
nn=100;
var
i,n,sn,sp:integer;
a:array[1..nn] of integer;
begin
Write('n = '); Read(n);
Randomize;
sn:=0; sp:=0;
for i:=1 to n do begin
a[i]:=Random(21)-10;
Write(a[i],' ');
if a[i]>0 then sp:=sp+a[i]
else
if a[i]<0 then sn:=sn+a[i]
end;
Writeln;
Writeln('Сумма отрицательных ',sn,', сумма положительных ',sp)
end.
Пример
n = 13
8 4 10 6 -2 2 -9 -9 6 3 2 4 -7
Сумма отрицательных -27, сумма положительных 45