Упорядочить каждый столбец матрицы по возрастанию - 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 (количество столбцов) исходной матрицы.
- Инициализация генератора случайных чисел.
- Вывод исходной матрицы с помощью циклов и заполнение элементов случайными значениями.
- Цикл сортировки каждого столбца матрицы по возрастанию.
- Вывод отсортированной матрицы с помощью циклов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д