Упорядочить столбцы матрицы так, чтобы их максимальные элементы образовывали возрастающую последовательность - Pascal
Формулировка задачи:
Решение задачи: «Упорядочить столбцы матрицы так, чтобы их максимальные элементы образовывали возрастающую последовательность»
const nmax=20; var a:array[1..nmax+1,1..nmax] of integer; m,n,i,j,k,mx,x:integer; begin randomize; repeat write('Количество строк до ',nmax,' m='); readln(m); until m in [1..nmax]; repeat write('Количество столбцов до ',nmax,' n='); readln(n); until n in [1..nmax]; for i:=1 to m do for j:=1 to n do a[i,j]:=random(50); {находим макс. в столбцах} for j:=1 to n do begin mx:=a[1,j]; for i:=2 to m do if a[i,j]>mx then mx:=a[i,j]; a[m+1,j]:=mx;{и записываем в дополнительную строку} end; writeln('Исходная матрица:'); for i:=1 to m do begin write(' ':6);{5 пробелов в начале строки} for j:=1 to n do write(a[i,j]:4);{элементы строки} writeln; end; write('Макс. ');{дополнительная строка с суммами} for j:=1 to n do write(a[m+1,j]:4); writeln; {перестановка столбцов по возрастанию значений в последней строке} for j:=1 to n-1 do for k:=j+1 to n do if a[m+1,j]>a[m+1,k] then for i:=1 to m+1 do begin x:=a[i,j]; a[i,j]:=a[i,k]; a[i,k]:=x; end; writeln('Столбцы упорядочены:'); for i:=1 to m do begin write(' ':6); for j:=1 to n do write(a[i,j]:4); writeln; end; write('Макс. '); for j:=1 to n do write(a[m+1,j]:4); end.
Объяснение кода листинга программы
Данный код на языке Pascal предназначен для упорядочивания столбцов матрицы таким образом, чтобы их максимальные элементы образовывали возрастающую последовательность. В начале кода задаются максимальные значения для n и m, которые не должны превышать 20. Затем происходит чтение количества строк и столбцов из ввода пользователя. Далее, в цикле, заполняется матрица случайными числами от 1 до 50. Затем происходит поиск максимального элемента в каждом столбце и его запись в дополнительную строку. После этого выводится исходная матрица с пробелами между элементами и их значениями. Далее происходит перестановка столбцов по возрастанию значений в последней строке. В конце выводится упорядоченная матрица с максимальными значениями в отдельной строке и значениями столбцов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д