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