PascalABC.NET 3.3.5, сборка 1640 от 17.03.2018
Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк/столбцов в матрице:');
Writeln('*** Исходная матрица ***');
var a:=MatrRandom(n,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var k:=Range(0,n-1).Select(i->a[i,i]).ToArray.IndexMin;
Swap(a[0,0],a[k,k]);
Writeln('*** Результат ***');
a.Println(4)
end.
Пример
Количество строк/столбцов в матрице: 5
*** Исходная матрица ***
-54 0 45 24 72
-90 46 54 46 50
-51 85 -76 -64 -27
-14 -33 -66 2 71
43 -92 77 58 -22
--------------------
*** Результат ***
-76 0 45 24 72
-90 46 54 46 50
-51 85 -54 -64 -27
-14 -33 -66 2 71
43 -92 77 58 -22