Предмет: Информатика,
автор: juzpaw12p5szr4
В матрице A(n*n) поменять местами первый элемент с наименьшим диагональным элементом.
паскаль
Ответы
Автор ответа:
0
// PascalABC.NET 3.3
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('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
Автор ответа:
1
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.
Пример
Количество строк/столбцов в матрице: 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
Внимание! Если программа не работает, обновите версию!
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
Похожие вопросы