Функция, определяющую максимальный элемент матрицы в заштрихованной области - Pascal
Формулировка задачи:
const n=10;
type matr = array[0..n, 0..n] of integer;
Напишите функцию Max(A: matrix): integer; определяющую максимальный элемент матрицы в заштрихованной области
(по краям матрицы).
Решение задачи: «Функция, определяющую максимальный элемент матрицы в заштрихованной области»
textual
Листинг программы
const
NMAX = 10;
type
TArray = Array[0..NMAX, 0..NMAX] Of Integer;
procedure GenerateArray(var ar: TArray);
var
i, j: Byte;
begin
Randomize();
for i := 0 to NMAX do
begin
for j := 0 to NMAX do
begin
ar[i, j] := Random(199) - 99;
Write(ar[i, j]:4);
end;
WriteLn;
end;
end;
function Max(const ar: TArray): Integer;
var
i, j: Byte;
Result: Integer;
begin
Result := ar[0, 0];
for i := 0 to NMAX do
begin
if (ar[i, 0] > Result)
then
Result := ar[i, 0];
if (ar[i, NMAX] > Result)
then
Result := ar[i, NMAX];
end;
for j := 1 to NMAX - 1 do
begin
if (ar[0, j] > Result)
then
Result := ar[0, j];
if (ar[NMAX, j] > Result)
then
Result := ar[NMAX, j];
end;
Max := Result;
end;
var
a: TArray;
begin
GenerateArray(a);
WriteLn('Max=', Max(a));
end.
Объяснение кода листинга программы
- Объявляется константа
NMAXи типTArray, который представляет двумерный массив целых чисел. - Задается процедура
GenerateArray, которая принимает на вход массив ar и заполняет его случайными числами от -99 до 99, после чего выводит на экран элементы массива. - Задается функция
Max, которая принимает на вход массив ar и возвращает максимальный элемент из заштрихованной области (по краям матрицы). - В основной программе создается массив
aтипаTArray. - Вызывается процедура
GenerateArray, чтобы заполнить массивaслучайными числами и вывести его содержимое на экран. - Вызывается функция
Maxдля массиваa, и результат выводится на экран как максимальный элемент в заштрихованной области матрицы.