В заданной прямоугольной матрице найти: максимальный элемент и левее столбца, который содержит этот элемент, - Free Pascal

Узнай цену своей работы

Формулировка задачи:

В заданной прямоугольной матрице найти: максимальный элемент и левее столбца, который содержит этот элемент, вставить столбец, состоящий из чисел, равных найденному максимальному элементу;

Решение задачи: «В заданной прямоугольной матрице найти: максимальный элемент и левее столбца, который содержит этот элемент,»

textual
Листинг программы
  1. const nmax=10;
  2. var a:array[1..nmax,1..nmax+1] of integer;
  3.     n,m,i,j,jmx,p:byte;
  4.     mx:integer;
  5. begin
  6. randomize;
  7. repeat
  8. write('Количество строк до ',nmax,' n=');
  9. readln(n);
  10. until n in [1..nmax];
  11. repeat
  12. write('Количество столбцов до ',nmax,' m=');
  13. readln(m);
  14. until m in [1..nmax];
  15. writeln('Исходная матрица:');
  16. for i:=1 to n do
  17.  begin
  18.   for j:=1 to m do
  19.    begin
  20.     a[i,j]:=10+random(89);
  21.     write(a[i,j]:4);
  22.    end;
  23.   writeln;
  24.  end;
  25. writeln;
  26. mx:=a[1,1];
  27. jmx:=1;
  28. for i:=1 to n do
  29. for j:=1 to m do
  30. if a[i,j]>mx then
  31.  begin
  32.   mx:=a[i,j];
  33.   jmx:=j;
  34.  end;
  35. writeln('Первый максимальный элемент=',mx,' в столбце ',jmx);
  36. m:=m+1;
  37. for j:=m downto jmx+1 do
  38. for i:=1 to n do
  39. a[i,j]:=a[i,j-1];
  40. for i:=1 to n do
  41. a[i,jmx]:=mx;
  42. writeln('Вставка столбца из максимальных перед столбцом с максимальным:');
  43. for i:=1 to n do
  44.  begin
  45.   for j:=1 to m do
  46.   write(a[i,j]:4);
  47.   writeln;
  48.  end;
  49. readln
  50. end.

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

  1. Объявлены переменные: n, m, i, j, jmx, p (byte), mx (integer), a (array[1..nmax,1..nmax+1] of integer).
  2. Выполняется инициализация генератора случайных чисел.
  3. Пользователю предлагается ввести количество строк и столбцов для матрицы (повторяется, пока не введется корректное значение).
  4. Выводится исходная матрица (числа от 10 до 99).
  5. Находится максимальное значение в матрице (mx) и его позиция (jmx).
  6. Второй максимальный элемент перед столбцом с максимальным удаляется, начиная с столбца m+1, вставляется в конец столбца с максимальным.
  7. Выводится измененная матрица.
  8. Программа ожидает ввода, чтобы закрыть соединение с консолью.

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


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

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

14   голосов , оценка 3.857 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы