// PascalABC.NET 3.3, сборка 1627 от 27.01.2018
// Внимание! Если программа не работает, обновите версию!
begin
var (n,m):=ReadInteger2('Количество строк и столбцов в матрице:');
var k:=ReadInteger('Номер строки k для обмена:')-1;
Writeln('*** Исходная матрица ***');
var rmatr:=MatrRandom(n,m,-99,99);
rmatr.Println(4); Writeln(4*rmatr.ColCount*'-');
var j:=0;
for var i:=1 to Min(n,m)-1 do
if rmatr[i,i]>rmatr[j,j] then j:=i;
if k<>j then rmatr.SwapRows(k,j);
Writeln('*** Полученная матрица ***');
rmatr.Println(4)
end.
Пример
Количество строк и столбцов в матрице: 7 8
Номер строки k для обмена: 3
*** Исходная матрица ***
-53 6 -57 -39 41 56 43 36
79 -57 -69 -67 -70 29 25 -87
-70 84 -29 -47 -43 -79 97 -45
99 48 -92 -22 -17 8 57 -9
-12 -58 -73 -5 -12 -76 -90 87
-93 -31 -18 65 -77 27 -43 98
-61 -2 -23 -73 72 -93 20 -73
--------------------------------
*** Полученная матрица ***
-53 6 -57 -39 41 56 43 36
79 -57 -69 -67 -70 29 25 -87
-93 -31 -18 65 -77 27 -43 98
99 48 -92 -22 -17 8 57 -9
-12 -58 -73 -5 -12 -76 -90 87
-70 84 -29 -47 -43 -79 97 -45
-61 -2 -23 -73 72 -93 20 -73