Продублировать строку матрицы, содержащую её максимальный элемент - Pascal ABC (14983)
Формулировка задачи:
Дана матрица M*N. Продублировать строку матрицы, содержащую её максимальный элемент.
Решение задачи: «Продублировать строку матрицы, содержащую её максимальный элемент»
textual
Листинг программы
uses crt; const max=10; var a:array[1..max+1,1..max] of integer; m,n,i,j,mx,imx:integer; begin randomize; repeat write('Количество строк от 2 до ',max,' m='); readln(m); until m in [2..max]; repeat write('Количество столбцов от 2 до ',max,' n='); readln(n); until n in [2..max]; writeln('Исходная матрица'); for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=random(100); write(a[i,j]:4); end; writeln; end; mx:=a[1,1]; imx:=1; for i:=1 to m do for j:=1 to n do if a[i,j]>mx then begin mx:=a[i,j]; imx:=i; end; writeln('Максимальный элемент=',mx,' в строке ',imx); m:=m+1; for i:=m downto imx+1 do for j:=1 to n do a[i,j]:=a[i-1,j]; for j:=1 to n do a[imx,j]:=a[imx+1,j]; writeln('Измененная матрица'); for i:=1 to m do begin for j:=1 to n do write(a[i,j]:4); writeln; end; end.
Объяснение кода листинга программы
- Создаётся переменная
a
, которая представляет собой матрицу размером от 2 до 10x10. - Задаются две переменные
m
иn
, которые представляют количество строк и столбцов матрицы соответственно. - Выводится запрос на ввод количества строк и столбцов матрицы.
- В цикле
repeat
для каждой строки матрицы (от 1 доm
) выполняется:- Цикл
for j:=1 to n do
для каждого столбца матрицы. - Вычисляется значение элемента матрицы
a[i,j]
. - Выводится значение элемента матрицы
a[i,j]
. - Выводится символ новой строки.
- Цикл
- Выводится сообщение о максимальном элементе матрицы.
- Вычисляется индекс строки и столбца с максимальным элементом.
- В цикле
repeat
для каждой строки матрицы (отimx+1
доm
) выполняется:- Цикл
for j:=1 to n do
для каждого столбца матрицы. - Значение элемента матрицы
a[i,j]
присваивается значениюa[imx,j]
. - Значение элемента матрицы
a[i,j]
присваивается значениюa[imx+1,j]
. - Выводится символ новой строки.
- Цикл
- Выводится измененная матрица.
- Для каждой строки матрицы (от 1 до
m
) выполняется:- Цикл
for j:=1 to n do
для каждого столбца матрицы. - Выводится значение элемента матрицы
a[i,j]
. - Выводится символ новой строки.
- Цикл
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д