Даны 3 двумерных массива a, b, c разной длины. разработать процедуру ввода массивов и вычисления максимальных значений каждого из массивов. полученные максимумы передать в программу, в которой найти максимум среди 3-х максимальных значений. результаты выдать на экран. нужен паскаль
Procedure ABC(Var A:Mass; Var Max:integer);
Var
i,j:integer;
Begin
Write('M = ');ReadLn(i);
Write('N = ');ReadLn(j);
For i:= 1 to i do
Begin
For j:= 1 to j do
Begin
A[i,j]:=random(21)-10;
Write(A[i,j]:3,' ')
End;
WriteLn;
End;
{Поиск максимума}
Max:=A[1,1];
For i:= 1 to i do
For j:= 1 to j do
if A[i,j]>Max then Max:=A[i,j];
End;
Var
A,B,C:Mass;
MaxMax,Max:integer;
Begin
Randomize;
WriteLn('Массив A(M,N):');
ABC(A,Max);
WriteLn('Max(A) = ',Max);
MaxMax:=Max;
WriteLn;
WriteLn('Массив B(M,N):');
ABC(B,Max);
WriteLn('Max(B) = ',Max);
if MaxMax<Max then MaxMax:=Max;
WriteLn;
WriteLn('Массив C(M,N):');
ABC(C,Max);
WriteLn('Max(C) = ',Max);
if MaxMax<Max then MaxMax:=Max;
WriteLn;
WriteLn('Max(Max(A),Max(B),Max(C)) = ',MaxMax);
End.
// Внимание! Если программа не работает, обновите версию!
procedure MaxMas(s:string; var max:integer);
begin
Writeln('*** Массив ',s,' ***');
var m:=ReadlnInteger('Количество строк: ');
var n:=ReadlnInteger('Количество столбцов: ');
Writeln('Вводите:');
var a:=ReadMatrInteger(m,n);
max:=a.ElementsByRow.Max
end;
begin
var ma,mb,mc:integer;
MaxMas('A',ma);
MaxMas('B',mb);
MaxMas('C',mc);
Writeln('Максимальный элемент равен ',max(ma,max(mb,mc)))
end.
Пример
*** Массив A ***
Количество строк: 2
Количество столбцов: 2
Вводите:
3 6 -2 11
*** Массив B ***
Количество строк: 3 2
Количество столбцов: 2
Вводите:
-5 0 7 9 12 6
*** Массив C ***
Количество строк: 2
Количество столбцов: 4
Вводите:
-11 8 9 5 11 14 8 -6
Максимальный элемент равен 14