Отсортировать целочисленную матрицу по столбцам - Turbo Pascal
Формулировка задачи:
Разработать программу, которая вводит целочисленную матрицу из n строк и m столбцов. Упорядочить все элементы матрицы таким образом, чтобы при чтении матрицы по столбцам ее элементы образовывали отсортированный по возрастанию массив. Вывести массивы до и после сортировки.
Решение задачи: «Отсортировать целочисленную матрицу по столбцам»
textual
Листинг программы
uses crt; const nmax=10; var a:array[0..nmax-1,0..nmax-1] of integer; m,n,i,j,k:byte; x:integer; begin clrscr; repeat randomize; write('Количество строк до ',nmax,' n='); readln(n); until n in [1..nmax]; repeat write('Количество столбцов до ',nmax,' m='); readln(m); until m in [1..nmax]; writeln('Исходная матрица:'); for i:=0 to n-1 do begin for j:=0 to m-1 do begin a[i,j]:=10+random(90); write(a[i,j]:4); end; writeln; end; for i:=0 to m*n-2 do for j:=i+1 to m*n-1 do if a[i mod n,i div n]>a[j mod n,j div n] then begin x:=a[i mod n,i div n]; a[i mod n,i div n]:=a[j mod n,j div n]; a[j mod n,j div n]:=x; end; writeln('Отсортированная матрица:'); for i:=0 to n-1 do begin for j:=0 to m-1 do write(a[i,j]:4); writeln; end; readln end.
Объяснение кода листинга программы
- Объявлены переменные:
- a: массив для хранения исходной матрицы
- m, n, i, j, k: булевые переменные для использования в циклах
- x: целочисленная переменная для временного хранения значения
- Задаются значения переменным m и n с помощью функции readln.
- Выводится сообщение
Исходная матрица:
и с помощью двух вложенных циклов выводятся значения исходной матрицы. - С помощью двух вложенных циклов сортируются значения матрицы по столбцам.
- Выводится сообщение
Отсортированная матрица:
и с помощью двух вложенных циклов выводятся значения отсортированной матрицы. - Завершается выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д