Сортировка двухмерного массива в порядке спадания.. - Pascal

Узнай цену своей работы

Формулировка задачи:

Дан массив m*n.Отсортировать его в порядке спадания...к примеру: Дан массив: 9 1 17 6 3 2 4 8 12 Вывод в порядке спадания:1 2 3 4 6 8 9 12 17. Помогите пожалуйста,уже голову сломал.В паскале новичёк.Зарание всем спасибо.

Решение задачи: «Сортировка двухмерного массива в порядке спадания..»

textual
Листинг программы
uses crt;
var a:array[1..50,1..50] of integer;{матрица}
    m,n,i,j,k,tmp:integer; {размеры матрицы,счетчики циклов, буфер для обмена}
begin
clrscr;
randomize;
writeln('Введите размеры матрицы:');
write(' Количество строк m=');
repeat
readln(m);
until m in [1..50];
write(' Количество столбцов n=');
repeat
readln(n);
until n in [1..50];
writeln;
writeln('Исходная матрица:');
for i:=1 to m do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=random(100);{заполним матрицу случайными числами в инт[0,99]}
    write(a[i,j]:4);
   end;
  writeln;
 end;
writeln;
{сортировка матрицы пузырьком}
for k:=1 to n*m do  {повторяем сколько элементов в матрице}
for i:=1 to m do
for j:=1 to n do
   begin
    if j<>n then {если элемент в строке не последний}
     begin
      if a[i,j+1]>a[i,j] then
        begin
         tmp:=a[i,j+1];
         a[i,j+1]:=a[i,j];
         a[i,j]:=tmp;{обмен элементов}
        end;
     end
    else
      if (a[i+1,1]>a[i,j])and(i<>m)then {если строка не последняя}
     {меняем первый элемент в следущей строке с последним элементом в текущей строке}
        begin
         tmp:=a[i+1,1];
         a[i+1,1]:=a[i,j];
         a[i,j]:=tmp;
       end;
   end;
writeln('Отсортированная матрица:');
for i:=1 to m do
 begin
  for j:=1 to n do
  write(a[i,j]:4);
  writeln;
 end;
readln
end.

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

  1. Создается двумерный массив a размером (m x n), где m и n - введенные пользователем значения количества строк и столбцов соответственно.
  2. Заполняются значениями случайных чисел в диапазоне от 0 до 99 все элементы массива a.
  3. Выполняется сортировка матрицы пузырьком. Алгоритм сортировки заключается в последовательном проходе по всем элементам матрицы и их обмене между соседними элементами, если они стоят не в нужном порядке.
  4. Выводится отсортированная матрица, значения которой записаны в формате 4-х значных чисел.

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


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

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

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