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

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

  1. Создаётся переменная a, которая представляет собой матрицу размером от 2 до 10x10.
  2. Задаются две переменные m и n, которые представляют количество строк и столбцов матрицы соответственно.
  3. Выводится запрос на ввод количества строк и столбцов матрицы.
  4. В цикле repeat для каждой строки матрицы (от 1 до m) выполняется:
    • Цикл for j:=1 to n do для каждого столбца матрицы.
    • Вычисляется значение элемента матрицы a[i,j].
    • Выводится значение элемента матрицы a[i,j].
    • Выводится символ новой строки.
  5. Выводится сообщение о максимальном элементе матрицы.
  6. Вычисляется индекс строки и столбца с максимальным элементом.
  7. В цикле repeat для каждой строки матрицы (от imx+1 до m) выполняется:
    • Цикл for j:=1 to n do для каждого столбца матрицы.
    • Значение элемента матрицы a[i,j] присваивается значению a[imx,j].
    • Значение элемента матрицы a[i,j] присваивается значению a[imx+1,j].
    • Выводится символ новой строки.
  8. Выводится измененная матрица.
  9. Для каждой строки матрицы (от 1 до m) выполняется:
    • Цикл for j:=1 to n do для каждого столбца матрицы.
    • Выводится значение элемента матрицы a[i,j].
    • Выводится символ новой строки.

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


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

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

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