PascalABC.NET 3.4.2, сборка 1864 от 11.11.2018
Внимание! Если программа не работает, обновите версию!
begin
var m := ReadInteger('Количество строк/столбцов в матрице:');
Writeln('*** Исходная матрица ***');
var a := MatrRandom(m, m, -99, 99);
a.Println(4); Writeln(4 * a.ColCount * '-');
var c := ReadInteger('Введите число С:');
var s := a.ElementsWithIndexes; // в памяти не хранится !
s.Where(t -> t[0] < c).Count.Println;
var p := s.MinBy(t -> t[0]);
var r := a.Row(p[1]).Aggregate(BigInteger(1), (x, y)-> x * y);
r *= a.Col(p[2]).Aggregate(BigInteger(1), (x, y)-> x * y);
r.Println
end.