Отсортировать целочисленную матрицу по столбцам - 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.

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

  1. Объявлены переменные:
    • a: массив для хранения исходной матрицы
    • m, n, i, j, k: булевые переменные для использования в циклах
    • x: целочисленная переменная для временного хранения значения
  2. Задаются значения переменным m и n с помощью функции readln.
  3. Выводится сообщение Исходная матрица: и с помощью двух вложенных циклов выводятся значения исходной матрицы.
  4. С помощью двух вложенных циклов сортируются значения матрицы по столбцам.
  5. Выводится сообщение Отсортированная матрица: и с помощью двух вложенных циклов выводятся значения отсортированной матрицы.
  6. Завершается выполнение программы.

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


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

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

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