Упорядочить по убыванию максимальные элементы матриц - Pascal

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

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

Даны три матрицы А, B, С Упорядочить по убыванию три числа х, у, z, где х - максимальный элемент матрицы А, в - максимальный элемент матрицы В, z - максимальный элемент матрицы С. Поиск максимального элемента матрицы оформить в виде процедуры.

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

textual
Листинг программы
  1. program pr;
  2.  
  3. type
  4.   arr = array [1..100, 1..100] of integer;
  5.  
  6. var
  7.   a, b, c: arr;
  8.   m, n, x, y, z, t: integer;
  9.  
  10. procedure fillshow(var v: arr; n: integer;  m: integer);
  11. var
  12.   i, j: integer;
  13. begin
  14.   randomize;
  15.   for i := 1 to n do
  16.     for j := 1 to m do
  17.       v[i, j] := random(21)-10;
  18.   for i := 1 to n do
  19.   begin
  20.     for j := 1 to m do
  21.       write(v[i, j]:3);
  22.     writeln;
  23.   end;
  24. end;
  25.  
  26. procedure find(var v: arr; var av: integer);
  27. var
  28.   i, j, max, index: integer;
  29. begin
  30.   max := v[1, 1];
  31.   for i := 1 to n do
  32.     for j := 1 to m do
  33.       if v[i, j] >= max then
  34.       begin
  35.         max := v[i, j];
  36.         index := i;
  37.       end;
  38.   av := max;
  39. end;
  40.  
  41. begin
  42.   writeln('Введите количество строк матрицы A');
  43.   readln(n);
  44.   writeln('Введите количество столбцов матрицы A');
  45.   readln(m);
  46.   fillshow(a, n, m);
  47.   find(a, x);
  48.   writeln;
  49.   writeln('Введите количество строк матрицы B');
  50.   readln(n);
  51.   writeln('Введите количество столбцов матрицы B');
  52.   readln(m);
  53.   fillshow(b, n, m);
  54.   find(b, y);
  55.   writeln;
  56.   writeln('Введите количество строк матрицы C');
  57.   readln(n);
  58.   writeln('Введите количество столбцов матрицы C');
  59.   readln(m);
  60.   writeln;
  61.   fillshow(c, n, m);
  62.   find(c, z);
  63.   writeln;
  64.   if (x < y) then
  65.   begin
  66.     t := x;
  67.     x := y;
  68.     y := t;
  69.   end;
  70.   if (y < z) then
  71.   begin
  72.     t := y;
  73.     y := z;
  74.     z := t;
  75.   end;
  76.   if (x < y) then
  77.   begin
  78.     t := x;
  79.     x := y;
  80.     y := t;
  81.   end;
  82.   writeln(x, ' ', y, ' ', z)
  83. end.

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

  1. Объявляются тип данных и переменные:
    • Тип данных arr для хранения двумерных массивов размером 100x100 с элементами типа integer.
    • Три массива a, b, c типа arr для хранения матриц.
    • Переменные m, n, x, y, z, t типа integer для хранения различных значений.
  2. Описывается процедура fillshow, которая заполняет переданный массив случайными числами и выводит его содержимое на экран.
  3. Описывается процедура find, которая находит максимальный элемент в матрице и возвращает его значение через параметр av.
  4. В основной программе происходит следующее:
    • Запрашивается у пользователя количество строк и столбцов для матрицы A.
    • Матрица A заполняется случайными числами и выводится на экран.
    • Вызывается процедура find для матрицы A и найденное значение максимального элемента сохраняется в переменной x.
    • Повторяются те же действия для матриц B и C, соответственно найденные максимальные значения сохраняются в переменных y и z.
  5. Производится сравнение найденных максимальных значений и их перестановка в случае необходимости, чтобы получить их в порядке убывания.
  6. На экран выводятся значения переменных x, y, z.

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


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

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

7   голосов , оценка 3.714 из 5

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

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

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