вот.. вроде подробно, все понятно и четко написано?
<u>// PascalABC.NET 3.3, сборка 1634 от 14.02.2018</u>
<u>// Внимание! Если программа не работает, обновите версию!</u>
begin
var n:=ReadInteger('Количество строк (столбцов) в массиве:');
Writeln('*** Исходный массив ***');
var a:=MatrRandom(n,n,-50,50);
a.Println(4); Writeln(4*a.ColCount*'-');
var s:=a.ElementsByRow;
Writeln('Сумма элементов массива ',s.Sum);
Writeln('Произведение отрицательных элементов ',
s.Where(t->t<0).Aggregate(BigInteger(1),(p,q)->p*q));
Writeln('Количество положительных элементов ',
s.Where(t->t>0).Count)
end.
<u>PascalABC.NET 3.4.0, сборка 1672 от 10.06.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
begin
var n:=ReadInteger('n=');
var a:array of real;
a:=SeqRandom(n,-99,99).Select(t->real(t)).ToArray; a.Println; Writeln;
a.Where(t->Trunc(t) mod 3 <>0).Println
end.