Упорядочить по убыванию максимальные элементы матриц - Pascal
Формулировка задачи:
Даны три матрицы А, B, С Упорядочить по убыванию три числа х, у, z, где х - максимальный элемент матрицы А, в - максимальный элемент матрицы В, z - максимальный элемент матрицы С. Поиск максимального элемента матрицы оформить в виде процедуры.
Решение задачи: «Упорядочить по убыванию максимальные элементы матриц»
textual
Листинг программы
- program pr;
- type
- arr = array [1..100, 1..100] of integer;
- var
- a, b, c: arr;
- m, n, x, y, z, t: integer;
- procedure fillshow(var v: arr; n: integer; m: integer);
- var
- i, j: integer;
- begin
- randomize;
- for i := 1 to n do
- for j := 1 to m do
- v[i, j] := random(21)-10;
- for i := 1 to n do
- begin
- for j := 1 to m do
- write(v[i, j]:3);
- writeln;
- end;
- end;
- procedure find(var v: arr; var av: integer);
- var
- i, j, max, index: integer;
- begin
- max := v[1, 1];
- for i := 1 to n do
- for j := 1 to m do
- if v[i, j] >= max then
- begin
- max := v[i, j];
- index := i;
- end;
- av := max;
- end;
- begin
- writeln('Введите количество строк матрицы A');
- readln(n);
- writeln('Введите количество столбцов матрицы A');
- readln(m);
- fillshow(a, n, m);
- find(a, x);
- writeln;
- writeln('Введите количество строк матрицы B');
- readln(n);
- writeln('Введите количество столбцов матрицы B');
- readln(m);
- fillshow(b, n, m);
- find(b, y);
- writeln;
- writeln('Введите количество строк матрицы C');
- readln(n);
- writeln('Введите количество столбцов матрицы C');
- readln(m);
- writeln;
- fillshow(c, n, m);
- find(c, z);
- writeln;
- if (x < y) then
- begin
- t := x;
- x := y;
- y := t;
- end;
- if (y < z) then
- begin
- t := y;
- y := z;
- z := t;
- end;
- if (x < y) then
- begin
- t := x;
- x := y;
- y := t;
- end;
- writeln(x, ' ', y, ' ', z)
- end.
Объяснение кода листинга программы
- Объявляются тип данных и переменные:
- Тип данных
arr
для хранения двумерных массивов размером 100x100 с элементами типаinteger
. - Три массива
a
,b
,c
типаarr
для хранения матриц. - Переменные
m
,n
,x
,y
,z
,t
типаinteger
для хранения различных значений.
- Тип данных
- Описывается процедура
fillshow
, которая заполняет переданный массив случайными числами и выводит его содержимое на экран. - Описывается процедура
find
, которая находит максимальный элемент в матрице и возвращает его значение через параметрav
. - В основной программе происходит следующее:
- Запрашивается у пользователя количество строк и столбцов для матрицы
A
. - Матрица
A
заполняется случайными числами и выводится на экран. - Вызывается процедура
find
для матрицыA
и найденное значение максимального элемента сохраняется в переменнойx
. - Повторяются те же действия для матриц
B
иC
, соответственно найденные максимальные значения сохраняются в переменныхy
иz
.
- Запрашивается у пользователя количество строк и столбцов для матрицы
- Производится сравнение найденных максимальных значений и их перестановка в случае необходимости, чтобы получить их в порядке убывания.
- На экран выводятся значения переменных
x
,y
,z
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д