Отсортировать по убыванию последние две строки матрицы - Pascal ABC
Формулировка задачи:
Cоздать двумерный массив целых чисел размерностью 7*4 и отсортировать по убыванию последние две строки.
Вывести на экран исходный и и измененный массив. Можно использовать любой метод сортировки
Решение задачи: «Отсортировать по убыванию последние две строки матрицы»
textual
Листинг программы
uses crt; const m=7; n=4; procedure swap(var x,y:integer); var t: integer; begin t := x; x := y; y := t end; var i,j,k: integer; matr:array [1..m,1..n] of integer; begin randomize; writeln ('Исходная матрица:'); for i:=1 to m do begin for j:=1 to n do begin matr[i,j]:=random(100); write(matr[i,j]:4); end; writeln; end; for i:=m-1 to m do begin for k:=1 to n-1 do for j:=1 to n-k do if matr[i,j]<=matr[i,j+1] then swap(Matr[i,j],Matr[i,j+1]); end; writeln ('Преобразованная матрица:'); for i:=1 to m do begin for j:=1 to n do write(matr[i,j]:4); writeln; end; end.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, которая используется для генерации случайных чисел.
- Затем определяются константы m и n, которые задают размер матрицы.
- Создается процедура swap, которая меняет значения двух переменных x и y.
- Далее определяются переменные i, j и k, которые будут использоваться для сортировки матрицы.
- Создается переменная matr, которая будет хранить матрицу.
- С помощью функции randomize генерируется случайное число для каждой ячейки матрицы.
- Выводится исходная матрица с помощью цикла for, который проходит по каждой строке матрицы и выводит значения каждой ячейки.
- Далее происходит сортировка матрицы в обратном порядке. Для этого используется цикл for, который проходит по каждой строке матрицы и меняет значения ячеек, если текущее значение меньше следующего.
- После сортировки выводится преобразованная матрица с помощью того же цикла for, который проходит по каждой строке матрицы и выводит значения каждой ячейки.