// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!
begin
var m:=ReadInteger('Количество строк в массиве:');
var n:=ReadInteger('Количество столбцов в массиве:');
Writeln('*** Исходный массив [',m,',',n,'] ***');
var a:=MatrRandom(m,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
Writeln('Произведение отрицательных: ',
a.ElementsByRow.Where(x->x<0).Aggregate(BigInteger(1),(x,y)->(x*y)))
end.
Пример
Количество строк в массиве: 5
Количество столбцов в массиве: 10
*** Исходный массив [5,10] ***
-81 -56 21 11 -1 -74 25 52 -89 -13
99 59 9 94 -8 -56 99 45 20 11
-93 90 -20 73 -13 69 -4 90 88 -25
72 -94 -96 -86 -88 -35 76 -34 -63 -64
-78 -98 16 73 34 -66 48 93 -74 42
----------------------------------------
Произведение отрицательных: -5146553166409683850017552514909470720000