Const n=10; var a:array[1..n] of integer; i,s,p:integer; begin writeln('Исходный массив:'); for i:=1 to n do begin a[i]:=random(21)-10; write(a[i]:4); end; writeln; s:=0; p:=1; for i:=1 to n do begin if i mod 2 = 0 then s:=s+a[i]; if a[i] mod 3 = 0 then p:=p*a[i]; end; writeln('s = ',s,' p = ',p); end.
Пример: Исходный массив: -4 -9 2 -2 4 6 -8 -5 7 -5 s = -15 p = -54
// PascalABC.NET 3.1, сборка 1218 от 12.04.2016 begin var a:=ArrRandom(ReadInteger('n='),1,90); a.Println; Writeln('S=',a.Where((x,i)->i.IsOdd).Sum); Writeln('П=',a.Where(x->x mod 3=0).Aggregate(1.0,(p,x)->p*x)) end.
var a:array[1..n] of integer;
i,s,p:integer;
begin
writeln('Исходный массив:');
for i:=1 to n do
begin
a[i]:=random(21)-10;
write(a[i]:4);
end;
writeln;
s:=0;
p:=1;
for i:=1 to n do
begin
if i mod 2 = 0 then s:=s+a[i];
if a[i] mod 3 = 0 then p:=p*a[i];
end;
writeln('s = ',s,' p = ',p);
end.
Пример:
Исходный массив:
-4 -9 2 -2 4 6 -8 -5 7 -5
s = -15 p = -54
begin
var a:=ArrRandom(ReadInteger('n='),1,90);
a.Println;
Writeln('S=',a.Where((x,i)->i.IsOdd).Sum);
Writeln('П=',a.Where(x->x mod 3=0).Aggregate(1.0,(p,x)->p*x))
end.
Тестовое решение:
n= 20
67 50 13 23 55 33 54 21 86 68 70 87 87 83 90 55 7 22 27 1
S=443
П=688290496740