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.
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.
Пример:
n = 4
7 9 -7 -2
5 9 -5 5
1 7 2 4
-6 0 -4 7
* * * * * * *
2 9 -7 -2
5 9 -5 5
1 7 7 4
-6 0 -4 7
Внимание! Если программа не работает, обновите версию!
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