Сортировка строк двумерного массива по возрастанию - 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.

Объяснение кода листинга программы

  1. Объявляются типы данных:
    • TLine - массив байтовых значений типа ShortInt
    • TArray - двумерный массив байтовых значений типа TLine
  2. Описывается процедура PrintArray:
    • Принимает параметры ar - двумерный массив типа TArray, n и m - размерности массива
    • Инициализируются локальные переменные i и j как байтовые значения
    • Выводит содержимое массива ar в консоль, построчно форматируя элементы
  3. Описывается процедура SortLine:
    • Принимает параметры l - одномерный массив типа TLine и m - размерность массива
    • Инициализируются локальные переменные j, k как байтовые значения, temp как ShortInt
    • Сортирует массив l по возрастанию значений элементов
  4. Объявляются переменные:
    • ar - двумерный массив типа TArray
    • n, m, i, j - переменные типа Byte
  5. В блоке begin ... end. осуществляется главный поток программы:
    • Генерируются случайные значения в массиве ar размерности n x m
    • Выводится содержимое массива ar до сортировки
    • Каждая строка массива ar сортируется по возрастанию значений элементов
    • Выводится содержимое массива ar после сортировки

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы