Сортировка строк двумерного массива по возрастанию - Pascal
Формулировка задачи:
Помогите пожалуйста решить
Дан массив n*m. Отсортировать по возростанию каждый ряд массива
Решение задачи: «Сортировка строк двумерного массива по возрастанию»
textual
Листинг программы
type
TLine = Array[Byte] Of ShortInt;
TArray = Array[Byte] Of TLine;
procedure PrintArray(const ar: TArray; const n, m: Byte);
var
i, j: Byte;
begin
WriteLn;
for i := 0 to n - 1 do
begin
for j := 0 to m - 1 do
Write(ar[i, j]:4);
WriteLn;
end;
WriteLn;
end;
procedure SortLine(var l: TLine; const m: Byte);
var
j, k: Byte;
temp: ShortInt;
begin
for j := 0 to m - 2 do
for k := j + 1 to m - 1 do
if (l[j] > l[k])
then
begin
temp := l[j];
l[j] := l[k];
l[k] := temp;
end;
end;
var
ar: TArray;
n, m, i, j: Byte;
begin
Randomize();
repeat
Write('Input n=');
ReadLn(n);
until (n > 0);
repeat
Write('Input m=');
ReadLn(m);
until (m > 0);
for i := 0 to n - 1 do
for j := 0 to m - 1 do
ar[i, j] := Random(199) - 99;
PrintArray(ar, n, m);
for i := 0 to n - 1 do
SortLine(ar[i], m);
PrintArray(ar, n, m);
end.
Объяснение кода листинга программы
- Объявляются типы данных:
TLine- массив байтовых значений типа ShortIntTArray- двумерный массив байтовых значений типа TLine
- Описывается процедура
PrintArray:- Принимает параметры
ar- двумерный массив типа TArray,nиm- размерности массива - Инициализируются локальные переменные
iиjкак байтовые значения - Выводит содержимое массива
arв консоль, построчно форматируя элементы
- Принимает параметры
- Описывается процедура
SortLine:- Принимает параметры
l- одномерный массив типа TLine иm- размерность массива - Инициализируются локальные переменные
j,kкак байтовые значения,tempкак ShortInt - Сортирует массив
lпо возрастанию значений элементов
- Принимает параметры
- Объявляются переменные:
ar- двумерный массив типа TArrayn,m,i,j- переменные типа Byte
- В блоке
begin ... end.осуществляется главный поток программы:- Генерируются случайные значения в массиве
arразмерностиn x m - Выводится содержимое массива
arдо сортировки - Каждая строка массива
arсортируется по возрастанию значений элементов - Выводится содержимое массива
arпосле сортировки
- Генерируются случайные значения в массиве