Дана матрица A[1..n,1..m] целых чисел. Напишите программу, которая переставит столбцы матрицы А таким образом, чтобы элементы последней строки стали упорядоченными в убывающем порядке. Для упорядочивания использовать метод сорт...
Дана матрица A[1..n,1..m] целых чисел. Напишите программу, которая переставит столбцы матрицы А таким образом, чтобы элементы последней строки стали упорядоченными в убывающем порядке. Для упорядочивания использовать метод сортировки посредством выбора и не использовать дополнительную матрицу. Измененную матрицу вывести на экран.
Ответ(ы) на вопрос:
Гость
//PascalABC.Net 3.2
var m, n: integer;
a: array of array of integer;
procedure zam(a1, b1: integer);
begin
for var i:=0 to n-1 do
begin
a[i][a1]+=a[i][b1];
a[i][b1] :=a[i][a1]-a[i][b1];
a[i][a1]-=a[i][b1];
end;
end;
procedure sortSelekt ();
var max: integer;
begin
for var i:=0 to m-1 do
begin
max:=i;
for var j:=i to m-1 do
if a[n-1][max]max then zam (i, max);
end;
end;
procedure printMAS ();
begin
for var i:=0 to n-1 do
begin
for var j:=0 to m-1 do write (a[i][j]:4);
writeln;
end;
end;
begin
n:=readinteger('n =');
m:=readinteger('m =');
setLength (a, n);
for var i:=0 to n-1 do
a[i]:=arrRandom (m, -99, 99);
writeln ('Первоначальная случайная матрица: ');
printMAS();
sortSelekt ();
writeln ('Измененная матрица: ');
printMAS();
end.
Не нашли ответ?
Похожие вопросы