Дана целочисленная квадратная матрица. Найти в каждой стро­ ке наибольший элемент и...

0 голосов
111 просмотров

Дана целочисленная квадратная матрица. Найти в каждой стро­
ке наибольший элемент и поменять его местами с элементом глав­
ной диагонали. (программа в Паскале)


Информатика (20 баллов) | 111 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
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.

image
(150k баллов)