30+15 1. составьте функцию вычисления среднего значения элементов массива. 2. в матрице размером n×m удалите столбец, сумма элементов которого максимальна. необходимо создать новую матрицу нужного размера и переписать в нее все столбцы, кроме удаленного. все решение на паскале
N = 3;
M = 4;
Type
Mass = array[1..N,1..M] of integer;
///Функция вычисления среднего арифметического элементов массива
Function Sr(A:Mass):real;
Var
i,j:integer;
Begin
result:=0;
For i:= 1 to N do
For j:= 1 to M do
result:=result+A[i,j];
result:=result/(M*N);
End;
Var
A:Mass;
B:array[1..N,1..M-1] of integer;
i,j,jMax,k:integer;
S,MaxS:real;
Begin
Randomize;
WriteLn('Исходная матрица:');
For i:= 1 to N do
Begin
For j:= 1 to M do
Begin
A[i,j]:=random(21)-10;
Write(A[i,j]:3,' ')
End;
WriteLn
End;
WriteLn('Среднее арифметическое её элементов: ',Sr(A));
WriteLn;
MaxS:=0;
jMax:=1;
For i:= 1 to N do
MaxS:=MaxS+A[i,1];
For j:= 2 to M do
Begin
S:=0;
For i:= 1 to N do
S:=S+A[i,j];
if S > MaxS then
Begin
jMax:=j;
MaxS:=S;
End;
End;
k:=0;
For j:= 1 to M do
if jMax <> j then
Begin
k:=k+1;
For i:= 1 to N do
B[i,k]:=A[i,j];
End;
WriteLn('Новая матрица:');
For i:= 1 to N do
Begin
For j:= 1 to M-1 do
Write(B[i,j]:3,' ');
WriteLn
End;
End.
Пример работы программы:
Исходная матрица:
10 6 10 2
3 5 -3 8
8 2 0 -9
Среднее арифметическое её элементов: 3.5
Новая матрица:
6 10 2
5 -3 8
2 0 -9