// PascalABC.NET 3.2, сборка 1437 от 03.05.2017
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк в массиве:');
var m:=ReadInteger('Количество колонок в массиве:');
Writeln('*** Исходный массив [',n,',',m,'] ***');
var a:=MatrRandom(n,m,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var k:=0;
foreach var column in a.Cols do
if column.Zip(column.OrderByDescending(x->x),(x,y)->x=y).All(x->x=True)
then k+=1;
Writeln('k=',k)
end.
Пример
Количество строк в массиве: 3
Количество колонок в массиве: 9
*** Исходный массив [3,9] ***
42 29 -18 -13 75 -55 73 -41 -34
-13 -25 62 -83 80 83 70 -75 91
-59 45 87 45 18 -87 62 9 27
------------------------------------
k=2