Даны 4 двумерных массива a, b, c, d одинаковой длины. разработать процедуры: 1) для ввода размеров и элементов массива; 2) для вычисления минимумов среди отрицательных элементов в каждом массиве. в программе вычислить максимум среди полученных минимумов. результаты выдать на экран. нужен !

vasilisa12234 vasilisa12234    2   27.08.2019 22:20    0

Ответы
SashaZaisnik1 SashaZaisnik1  05.10.2020 23:32
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

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
ПОКАЗАТЬ ОТВЕТЫ
влад2313 влад2313  05.10.2020 23:32
//FPC 2.6.4
//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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика