Const n=10; var a: array[1..n] of integer; i, p : integer; begin Randomize; writeln('Исходный массив:'); for i:=1 to n do begin a[i]:=random(21)-10; write(a[i],' '); end; writeln; p:=1; for i:=1 to n do if (a[i]>=-2)and(a[i]<=2) then p:=p*a[i]; writeln('p=',p); end.
// PascalABC.NET 3.0, сборка 1144 от 16.01.2016 begin var a:=ArrRandom(10,-5,5).Println.Where(x->x in [-2..2]); var p:=1; foreach var ai in a do p*=ai; Writeln('П=',p) end.
var a: array[1..n] of integer;
i, p : integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
a[i]:=random(21)-10;
write(a[i],' ');
end;
writeln;
p:=1;
for i:=1 to n do
if (a[i]>=-2)and(a[i]<=2) then p:=p*a[i];
writeln('p=',p);
end.
Пример:
Исходный массив:
-1 2 -8 -5 4 2 -4 5 4 1
p=-4
begin
var a:=ArrRandom(10,-5,5).Println.Where(x->x in [-2..2]);
var p:=1; foreach var ai in a do p*=ai;
Writeln('П=',p)
end.
Тестовое решение:
3 2 -5 2 -5 -1 1 5 -1 3
П=4