begin var n:=ReadInteger('n ='); var a:=MatrRandom(n,n,-10,10).Println(5); var i:=a.ElementsWithIndexes.Where(k->k[2]=k[1]). Select(k->k[0]).ToArray.IndexMin; Swap(a[0,0],a[i,i]); writeln('* * * * * * *'); a.Println(5); end.
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.