Var ar:array[1..n] of integer; i,p:int64; begin randomize; p:=1; writeln('Array:'); for i:=1 to n do begin ar[i]:=random(-10,10); write(ar[i]:4); if ar[i]<0 then p:=p*ar[i]; end; writeln; write('Res:',p); end.
Пример работы программы: Array: -4 -9 -6 3 6 2 -3 0 -9 -3 Res:17496
// PascalABC.NET 3.1, сборка 1256 от 21.06.2016 begin var a:=ReadArrInteger(ReadInteger('n=')); Writeln('Произведение отрицательных: ', a.Where(x->x<0).Aggregate(BigInteger(1),(x,p)->x*p)) end.
Тестовое решение n= 9 -2 6 8 -45 0 23 5 43 -8 Произведение отрицательных: -720
Const
n=10;
Var
ar:array[1..n] of integer;
i,p:int64;
begin
randomize;
p:=1;
writeln('Array:');
for i:=1 to n do
begin
ar[i]:=random(-10,10);
write(ar[i]:4);
if ar[i]<0 then p:=p*ar[i];
end;
writeln;
write('Res:',p);
end.
Пример работы программы:
Array:
-4 -9 -6 3 6 2 -3 0 -9 -3
Res:17496
begin
var a:=ReadArrInteger(ReadInteger('n='));
Writeln('Произведение отрицательных: ',
a.Where(x->x<0).Aggregate(BigInteger(1),(x,p)->x*p))
end.
Тестовое решение
n= 9
-2 6 8 -45 0 23 5 43 -8
Произведение отрицательных: -720