Заменить наименьший элемент каждой строки матрицы, начиная со второй, наибольшим элементом предыдущей строки. - 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.

Объяснение кода листинга программы

  1. Создается переменная nmax со значением 15.
  2. Создается переменная a типа array[1..nmax,1..nmax] of integer;.
  3. Создаются три переменные m, n и i типа byte;.
  4. Создается переменная mn и инициализируется значением 0.
  5. Создается переменная mx и инициализируется значением 0.
  6. Выполняется цикл repeat, который запрашивает у пользователя количество строк и столбцов матрицы.
  7. Внутри цикла repeat выводится сообщение с запрошенными значениями.
  8. Выполняется цикл for, который начинается с индекса строки 1 и продолжается до индекса строки 2.
  9. Внутри цикла for выполняется цикл for, который начинается с индекса столбца 1 и продолжается до индекса столбца m.
  10. Внутри внутреннего цикла проверяется условие if a[i,j]<a[i,jmn] и если оно истинно, то значение переменной jmn устанавливается равным значению переменной j.
  11. Если условие if a[i-1,j]>mx истинно, то значение переменной mx устанавливается равным значению переменной a[i-1,j].
  12. Значение переменной a[i,jmn] устанавливается равным значению переменной mx.
  13. Выполняется цикл for, который начинается с индекса строки 1 и продолжается до индекса строки 2.
  14. После окончания внутреннего цикла выводится сообщение с измененной матрицей.
  15. Выполняется цикл for, который начинается с индекса строки 1 и продолжается до индекса строки 2.
  16. После окончания внешнего цикла выводится сообщение с исходной матрицей.
  17. Выполняется цикл readln, чтобы дождаться ввода пользователя.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы