Информатика 11 класс. найти разность между максимальным и средним арифметическим элементами квадратной матрицы, заданной случайным образом. этапы решения : описать переменные; сформировать массив; напечатать его; найти максимальный (минимальный) элемент; найти сумму всех элементов; найти среднее арифметическое, вычислить нужную разность ; напечатать результат.
// Внимание! Если программа не работает, обновите версию!
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
//Версия 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