Сортировка двухмерного массива в порядке спадания.. - 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.
Объяснение кода листинга программы
- Создается двумерный массив
a
размером (m x n), где m и n - введенные пользователем значения количества строк и столбцов соответственно. - Заполняются значениями случайных чисел в диапазоне от 0 до 99 все элементы массива
a
. - Выполняется сортировка матрицы пузырьком. Алгоритм сортировки заключается в последовательном проходе по всем элементам матрицы и их обмене между соседними элементами, если они стоят не в нужном порядке.
- Выводится отсортированная матрица, значения которой записаны в формате 4-х значных чисел.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д