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.