Информатика 11 класс. найти разность между максимальным и средним арифметическим элементами квадратной матрицы, заданной случайным образом. этапы решения : описать переменные; сформировать массив; напечатать его; найти максимальный (минимальный) элемент; найти сумму всех элементов; найти среднее арифметическое, вычислить нужную разность ; напечатать результат.

armanbolat98 armanbolat98    3   12.09.2019 15:30    0

Ответы
didar6 didar6  07.10.2020 09:57
// PascalABC.NET 3.3, сборка 1583 от 25.11.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('Количество строк/столбцов в матрице:');
  Writeln('*** Исходная матрица ***');
  var a:=MatrRandom(n,n,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var s:=a.ElementsByRow; // последовательность не хранится в памяти
  Writeln('Искомая разность равна ',s.Max-s.Average:0:5)
end.

Пример
Количество строк/столбцов в матрице: 7
*** Исходная матрица ***
 -44 -99  13  98 -98  74 -40
 -23  65 -41 -39 -56  -5  -7
  77 -98  37  74 -60  96 -12
  31  66 -99   9  46 -57  78
 -25 -79 -48 -18  69   4  60
  62 -62 -45 -99  57 -17 -45
  89 -96 -16  33  -1  76 -98

Искомая разность равна 102.34694
ПОКАЗАТЬ ОТВЕТЫ
Lagunahey Lagunahey  07.10.2020 09:57
//PascalABC.NET
//Версия 3.3. сборка 1583 (25.11.2017)

var 
 a:array[1..100,1..100] of integer;
 n,s,i,j,max:integer;
begin
  write('Введите размер матрицы: ');readln(n);
  max:=-100;
  for i:=1 to n do 
  begin
   for j:=1 to n do
   begin
    a[i,j]:=random(-100,100);
    write(a[i,j]:5);
    s:=s+a[i,j];
    if a[i,j]>max then max:=a[i,j];
   end;
   writeln;
  end;
  writeln('Максимальное: ',max);
  writeln('Сумма: ',s);
  writeln('Сред.арифм.: ',s/sqr(n));
  writeln('Разность: ',max-s/sqr(n));
 readln;
end.

Пример:
Введите размер матрицы: 5
   93  -60  -11  -17   57
   13  -18  -91  -38    9
  -55   18  -86  -61   53
   24  -46   68  -63   43
   88  -59  -10  -65   36
Максимальное: 93
Сумма: -178
Сред.арифм.: -7.12
Разность: 100.12
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика