Отсортировать главную диагональ массива по убыванию методом «пузырька» - Pascal ABC
Формулировка задачи:
Дан массив из n x m элементов. Отсортировать главную диагональ массива по убыванию методом «пузырька». В коде выдает ошибку, помогите,пожалуйста, исправишь ошибку.
Решение задачи: «Отсортировать главную диагональ массива по убыванию методом «пузырька»»
textual
Листинг программы
program test;
type
TMatrix = array [1..4, 1..5] of integer;
{ Сортировка "пузырьком" }
procedure BubbleSort(var A: TMatrix; n, m: integer);
var
i, j, min: integer;
x: integer;
begin
if n < m then
min := n
else
min := m;
for i := min downto 2 do
for j := 2 to i do
if A[j, j] > A[j - 1, j - 1] then
begin
x := A[j, j];
A[j, j] := A[j - 1, j - 1];
A[j - 1, j - 1] := x;
end;
end;
var
a: TMatrix;
i, j: integer;
n, m: integer;
begin
randomize;
n := 4;
m := 5;
for i := 1 to n do
for j := 1 to m do
a[i, j] := random(100);
for i := 1 to n do
begin
for j := 1 to m do
Write(a[i, j]: 4);
writeln;
end;
BubbleSort(a, n, m);
writeln;
for i := 1 to n do
begin
for j := 1 to m do
Write(a[i, j]: 4);
writeln;
end;
end.
Объяснение кода листинга программы
- Создается тип данных TMatrix, который представляет собой массив целых чисел размером 4x5.
- Определяется процедура BubbleSort, которая реализует алгоритм сортировки пузырьком.
- В основной программе создается переменная a типа TMatrix и инициализируется случайными числами от 0 до 99.
- Выводится содержимое массива a в консоль.
- Вызывается процедура BubbleSort с аргументами n=4, m=5 и переменная a.
- После вызова процедуры BubbleSort выводится снова содержимое массива a в консоль.