В двух матрицах строки расположить в порядке убывания элементов первого столбца - Pascal
Формулировка задачи:
Я наверное всех уже достал. Извините пожалуйста и не откажите еще в одной услуге.
В двух матрицах строки расположить в порядке убывания элементов первого столбца.
Решение задачи: «В двух матрицах строки расположить в порядке убывания элементов первого столбца»
textual
Листинг программы
uses crt; const nmax=20; type matr=array[1..nmax,1..nmax] of integer; procedure Vvod(var mt:matr;var x,y:byte;c:char); var i,j:byte; begin writeln('Матрица ',c); repeat write('Количество строк=');readln(x); until x in [1..10]; repeat write('Количество столбцов=');readln(y); until y in [1..15]; for i:=1 to x do for j:=1 to y do mt[i,j]:=random(40)+10; end; procedure Vyvod(var mt:matr;x,y:byte); var i,j:byte; begin for i:=1 to x do begin for j:=1 to y do write(mt[i,j]:4); writeln; end; end; procedure Sort(var mt:matr;x,y:byte); var i,j,k:byte; b:integer; begin for i:=1 to x-1 do for k:=i+1 to x do if mt[i,1]<mt[k,1] then for j:=1 to y do begin b:=mt[i,j]; mt[i,j]:=mt[k,j]; mt[k,j]:=b; end; end; var a,b:matr; na,ma,nb,mb:byte; begin clrscr; randomize; Vvod(a,na,ma,'A'); writeln('Исходная матрица:'); Vyvod(a,na,ma); Sort(a,na,ma); writeln('Строки упорядочены по убыванию первого элемента::'); Vyvod(a,na,ma); write('Pres Enter...'); readln; Vvod(b,nb,mb,'B'); writeln('Исходная матрица:'); Vyvod(b,nb,mb); Sort(b,nb,mb); writeln('Строки упорядочены по убыванию первого элемента::'); Vyvod(b,nb,mb); write('Pres Enter...'); readln end.
Объяснение кода листинга программы
- В процедуре Vvod считываются данные для ввода матрицы.
- Переменные i, j и k используются в процедуре сортировки.
- В процедуре Vyvod выводится матрица с помощью функции write.
- В процедуре Sort происходит сортировка матрицы по убыванию первого столбца.
- Переменные a, b, na, ma, nb и mb используются для работы с двумя матрицами.
- Функция randomize используется для генерации случайных чисел.
- Процесс ввода и вывода матрицы повторяется до тех пор, пока пользователь не введет 'B'.
- После этого начинается второй этап ввода и вывода матрицы.
- Процесс ввода и вывода матрицы повторяется до тех пор, пока пользователь не введет 'B'.
- В конце программы выводится сообщение
Pres Enter...
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д