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

0 голосов
77 просмотров

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


Информатика (335 баллов) | 77 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
// 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

(150k баллов)
0 голосов

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        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

(34.0k баллов)
0

А разве не миллион?

0

))

0

7 360 Кбайт))