Дана целочисленная квадратная матрица. найти в каждой стро ке наибольший элемент и поменять его местами с элементом глав ной диагонали. (программа в паскале)
PascalABC.NET 3.3.5, сборка 1636 от 10.03.2018 Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк/столбцов в матрице:'); Writeln('*** Исходная матрица ***'); var a:=MatrRandom(n,n,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); var imax:=a.Rows.Select(r->r.ToArray.IndexMax).ToArray; for var i:=0 to n-1 do Swap(a[i,i],a[i,imax[i]]); Writeln('*** Результат ***'); a.Println(4) end.
Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк/столбцов в матрице:');
Writeln('*** Исходная матрица ***');
var a:=MatrRandom(n,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var imax:=a.Rows.Select(r->r.ToArray.IndexMax).ToArray;
for var i:=0 to n-1 do
Swap(a[i,i],a[i,imax[i]]);
Writeln('*** Результат ***'); a.Println(4)
end.