Дан двумерный массив a[m,n]. найти отношение минимального к максимальному значению массива. результаты выдать на экран.нужен паскаль

aliali123 aliali123    2   25.08.2019 22:20    1

Ответы
galinapetrovic galinapetrovic  05.10.2020 19:42
Var
A:array[1..1000,1..1000] of integer;
M,N,Min,Max:integer;
Begin
Write('M(1..1000) = ');
ReadLn(M);
Write('N(1..1000) = ');
ReadLn(N);
For var i:= 1 to M do
    Begin
    For var j:= 1 to N do
        Begin
        A[i,j]:=random(1,M*N);
        Write(A[i,j],' ')
        End;
    WriteLn;
    End;
Min:=A[M,N];
Max:=A[M,N];
For var i:= 1 to M do
    For var j:= 1 to N do
        Begin
        if Min>A[i,j] then Min:=A[i,j];
        if Max<A[i,j] then Max:=A[i,j]
        End;
WriteLn('Min(A) / Max(A) = ',Min/Max);
End.

Пример:

M(1..1000) = 3
N(1..1000) = 3
6 9 6
4 5 3
1 9 7
Min(A) / Max(A) = 0.111111111111111
ПОКАЗАТЬ ОТВЕТЫ
ВеликийМаг2018 ВеликийМаг2018  05.10.2020 19:42
// PascalABC.NET 3.2, сборка 1399 от 08.03.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var m:=ReadInteger('Количество строк в массиве:');
  var n:=ReadInteger('Количество столбцов в массиве:');
  Writeln('*** Исходный массив [',m,',',n,'] ***');
  var a:=MatrRandom(m,n,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var s:=a.Rows.SelectMany(x->x);
  Writeln('Отношение min/max равно ',s.Min/s.Max:0:4)
end.

Пример
Количество строк в массиве: 5
Количество столбцов в массиве: 8
*** Исходный массив [5,8] ***
 -38 -26 -68 -48  79 -61 -25 -97
  26 -81 -67 -49  22 -15  45 -75
  92  93 -59  -4 -21  91 -36  19
 -65 -36 -18  -1 -12   8 -91 -29
 -28 -33 -41  85 -94 -15 -33  69

Отношение min/max равно -1.0430
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика