Даны 4 двумерных массива a, b, c, d одинаковой длины. разработать процедуры: 1) для ввода размеров и элементов массива; 2) для вычисления минимумов среди отрицательных элементов в каждом массиве. в программе вычислить максимум среди полученных минимумов. результаты выдать на экран. нужен !
// Внимание! Если программа не работает, обновите версию!
type
Mas=array[,] of integer;
var
n,m:integer;
procedure GetMas(s:string; var a:Mas);
begin
if n=0 then begin
n:=ReadInteger('Количество строк в массиве:');
m:=ReadInteger('Количество столбцов в массиве:');
end;
Writeln('Вводите элементы массива ',s);
a:=ReadMatrInteger(n,m)
end;
function MinMas(a:Mas):=a.ElementsByRow.Where(x->x<0).Min;
begin
var a,b,c,d:Mas;
n:=0;
GetMas('A',a);
GetMas('B',b);
GetMas('C',c);
GetMas('D',d);
Writeln('Искомый максимум равен ',
Max(MinMas(a),Max(MinMas(b),Max(MinMas(c),MinMas(d
end.
Пример
Количество строк в массиве: 3
Количество столбцов в массиве: 5
Вводите элементы массива A
-33 -50 34 -41 -41
-31 10 37 31 40
32 -49 -32 -27 4
Вводите элементы массива B
-22 35 16 -6 37
0 11 -48 18 -20
-39 25 -43 38 -26
Вводите элементы массива C
23 38 -33 8 26
17 -8 -42 39 5
16 -1 -12 -25 -49
Вводите элементы массива D
29 31 -21 27 18
-38 49 -11 17 -49
6 48 -34 30 49
Искомый максимум равен -48
//uses MATH;
procedure p();
type mein = array of array of integer;
function _max(a, b: integer): integer;
begin
if a>b then _max:=a else _max:=b;
end;
function inter_p(k, l: integer; var r: mein): integer;
var i, j, mn: integer;
begin
mn:=0;
setLength(r, k);
for i:=0 to k-1 do
begin
setLength(r[i], l);
for j:=0 to l-1 do
begin
read(r[i, j]);
if (r[i, j]<mn) and (r[i, j]<0) then mn:=r[i, j];
end;
end;
//result:=mn;
inter_p:=mn;
end;
var
a, b, c, d: mein;
n, m, mA, mB, mC, mD: integer;
begin
write ('размеры A: '); readln (n, m);
writeln ('Вводите элементы A: '); ma:=inter_p(n, m, a); writeln('MinA=', mA);
write ('размеры B: '); readln (n, m);
writeln ('Вводите элементы B: '); mb:=inter_p(n, m, b); writeln('MinB=', mB);
write ('размеры C: '); readln (n, m);
writeln ('Вводите элементы C: '); mc:=inter_p(n, m, c); writeln('MinC=', mC);
write ('размеры D: '); readln (n, m);
writeln ('Вводите элементы D: '); md:=inter_p(n, m, d); writeln('MinD=', mD);
write ('Max из Min: ', _max(_max(ma, mb), _max(mc, md)));
end;
begin
p;
end.