Помощь - Поиск - Пользователи - Календарь
Полная версия: Сортировка выбором двумерного массива
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Onyx_007
Дана матрица A[1..n,1..m] целых чисел. Напишите программу, которая переставит строки матрицы А таким образом, чтобы элементы последнего столбца стали упорядоченными в убывающем порядке. Для упорядочивания использовать метод сортировки посредством выбора и не использовать дополнительную матрицу. Измененную матрицу вывести на экран.
Федосеев Павел
program test;

const
n = 5;
m = 4;
type
TMatrix = array[1..n, 1..m] of integer;

procedure ShowMatrix(const A: TMatrix; n, m: integer);
var
i, j: integer;
begin
for i := 1 to n do
begin
for j := 1 to m do
Write(A[i, j]: 4);
writeln;
end;
end;

procedure Sort(var A: TMatrix; n, m: integer);
var
i, j, k, min: integer;
temp: integer;
begin
for i := 1 to n do
begin
min := i;
for j := i + 1 to n do
if A[i, m] < A[j, m] then
min := j;
for k := 1 to m do
begin
temp := A[i, k];
A[i, k] := A[min, k];
A[min, k] := temp;
end;
end;
end;

var
i, j: integer;
A: TMatrix;
begin
randomize;
for i := 1 to n do
for j := 1 to m do
A[i, j] := random(100);
ShowMatrix(A, n, m);
writeln;
Sort(A, n, m);
ShowMatrix(A, n, m);
end.
Onyx_007
Огромное спасибо )
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.