Заменить наименьший элемент каждой строки матрицы, начиная со второй, наибольшим элементом предыдущей строки. - Turbo Pascal
Формулировка задачи:
Дана прямоугольная матрица A(n*m). Заменить наименьший элемент каждой строки, начиная со второй, наибольшим элементом предыдущей строки.
Решение задачи: «Заменить наименьший элемент каждой строки матрицы, начиная со второй, наибольшим элементом предыдущей строки.»
textual
Листинг программы
uses crt; const nmax=15; var a:array[1..nmax,1..nmax] of integer; m,n,i,j,jmn:byte; mn,mx:integer; begin clrscr; randomize; repeat write('Количество строк до ',nmax,' n='); readln(n); until n in [1..nmax]; repeat write('Количество столбцов до ',nmax,' m='); readln(m); until m in [1..nmax]; writeln('Исходная матрица:'); for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(20); write(a[i,j]:4); end; writeln; end; for i:=n downto 2 do begin jmn:=1; for j:=2 to m do if a[i,j]<a[i,jmn] then jmn:=j; mx:=a[i-1,1]; for j:=2 to m do if a[i-1,j]>mx then mx:=a[i-1,j]; a[i,jmn]:=mx; end; writeln('Измененная матрица'); for i:=1 to n do begin for j:=1 to m do write(a[i,j]:4); writeln; end; readln end.
Объяснение кода листинга программы
- Создается переменная
nmax
со значением 15. - Создается переменная
a
типаarray[1..nmax,1..nmax] of integer;
. - Создаются три переменные
m
,n
иi
типаbyte;
. - Создается переменная
mn
и инициализируется значением 0. - Создается переменная
mx
и инициализируется значением 0. - Выполняется цикл
repeat
, который запрашивает у пользователя количество строк и столбцов матрицы. - Внутри цикла
repeat
выводится сообщение с запрошенными значениями. - Выполняется цикл
for
, который начинается с индекса строки 1 и продолжается до индекса строки 2. - Внутри цикла
for
выполняется циклfor
, который начинается с индекса столбца 1 и продолжается до индекса столбцаm
. - Внутри внутреннего цикла проверяется условие
if a[i,j]<a[i,jmn]
и если оно истинно, то значение переменнойjmn
устанавливается равным значению переменнойj
. - Если условие
if a[i-1,j]>mx
истинно, то значение переменнойmx
устанавливается равным значению переменнойa[i-1,j]
. - Значение переменной
a[i,jmn]
устанавливается равным значению переменнойmx
. - Выполняется цикл
for
, который начинается с индекса строки 1 и продолжается до индекса строки 2. - После окончания внутреннего цикла выводится сообщение с измененной матрицей.
- Выполняется цикл
for
, который начинается с индекса строки 1 и продолжается до индекса строки 2. - После окончания внешнего цикла выводится сообщение с исходной матрицей.
- Выполняется цикл
readln
, чтобы дождаться ввода пользователя.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д