Опишите модель решения постоянной задачи соблюдая следующие пункты
1) входные задания программы 2) выходные задания программы 3) цель проектирования программы 4) наличие программы 5) область применение программы это сор по информатике
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.
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
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;