Const 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.
program nomerstolb;
Var a: array[1..50,1..50] of integer;
b: array[1..50] of integer;
i, j, m, n, max, jmax: integer;
Begin
Write(‘сколько строк?’); Readln(m);
Write(‘сколько столбцов?’); Readln(n);
For i:=1 to m do
begin
For j:=1 to n do
begin
write(‘a[‘,i,’,’,j,’]=’); readln (a[i,j]);
end;
for j:=1 to m do
begin
b[j]:=0;
for i:=1 to n do
if a[i,j]<0 then b[j]:=b[j]+1;
end;
max:=b[1]; jmax:=1;
For j:=2 to n do
begin
if b[j]>max then
begin
max:=b[j]; jmax:=j;
end;
end;
writeln(‘Наибольшее количество отрицательных элементов в ‘;jmax ; ‘столбце’);
end;
end.
9. Упорядочить каждый столбец матрицы по возрастанию. Массив размером МхN, элементы которого задаются датчиком случайных чисел на интервале [-17;26].
program porydok;
Var a: array[1..50,1..50] of integer;
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