Дана квадратная целочисленная матрица, все элементы разkичны. поменять местами строки, которые содержат максимальные и минимальные элементы матрицы. pascal abc net
// PascalABC.NET 3.3, сборка 1573 от 04.11.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк/столбцов в матрице:'); Writeln('Введите элементы матрицы построчно'); var a:=ReadMatrInteger(n,n); Writeln('Исходная матрица'); a.Println(4); Writeln(4*a.ColCount*'-'); var s:=a.ElementsWithIndexes; var imin:=s.MinBy(t->t[0])[1]; var imax:=s.MaxBy(t->t[0])[1]; if imin<>imax then a.SwapRows(imin,imax); Writeln('Матрица-результат'); a.Println(4); end.
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк/столбцов в матрице:');
Writeln('Введите элементы матрицы построчно');
var a:=ReadMatrInteger(n,n);
Writeln('Исходная матрица'); a.Println(4);
Writeln(4*a.ColCount*'-');
var s:=a.ElementsWithIndexes;
var imin:=s.MinBy(t->t[0])[1];
var imax:=s.MaxBy(t->t[0])[1];
if imin<>imax then a.SwapRows(imin,imax);
Writeln('Матрица-результат'); a.Println(4);
end.
Пример
Количество строк/столбцов в матрице: 5
Введите элементы матрицы построчно
51 -74 -22 -83 -89 87 66 -61 -16 -32 -82 -17 -7 -26 -10 91 5 45 0 25 -47 -44 24 -19 75
Исходная матрица
51 -74 -22 -83 -89
87 66 -61 -16 -32
-82 -17 -7 -26 -10
91 5 45 0 25
-47 -44 24 -19 75
Матрица-результат
91 5 45 0 25
87 66 -61 -16 -32
-82 -17 -7 -26 -10
51 -74 -22 -83 -89
-47 -44 24 -19 75