Помощь - Поиск - Пользователи - Календарь
Полная версия: Посчитать среднее число в третьем столбце массива
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Prpor48
Доброго времени суток всем! Есть код, который считает среднее число каждого столбца в массиве.
var
a:array [1..100,1..100] of integer;
i,j,sr,n,m,s:integer;
begin
Writeln('Vvedite N');
readln(n);
Writeln('Vvedite M');
readln(m);
for i:=1 to n do
for j:=1 to m do
a[i,j]:=random(10)+1;
for i:=1 to n do begin
for j:=1 to m do
write(a[i,j],' ');
writeln;
end;
j:=1;
for j:=1 to m do
for i:=1 to n do begin
s:=s+a[i,j];
sr:=sr+1;
if i=n then begin
writeln('(',j,')','Srednee arifmeticheskoe= ', s/sr);
s:=0;
sr:=0;
end;
end;
readln;
end.


Вопрос, как сделать так, что бы считал только среднее число третьего массива? И так же, как сюда прикрутить то, что бы программа считала максимальное число в этом же, то есть в третьем столбце? Как тогда будет выглядеть финальный код?

uses crt;
const n=3;
m=4;
var a:array[1..n,1..m] of integer;
sum:array[1..m] of integer;
i,j:integer;
begin
clrscr;
randomize;
for i:=1 to n do
begin writeln;
for j:=1 to m do begin
a[i,j]:=random(500)-100;
write(a[i,j]:5);
end;
end;
writeln;writeln;
for j:=1 to m do
begin
for i:=1 to n do

sum[j]:=sum[j]+a[i,j];
write(sum[j]:5,' ');
end;
writeln;

end.


Вот нашел, считает сумму столбцов матрицы. Как объединить это в одну программу и сделать так, что бы считался только третий столбец?
Prpor48
Нашел, выкладываю.
var a:array [1..100,1..100] of integer;
i,j, n,m :integer;
NomStolb, suma, max : integer;
begin
Writeln('Vvedite N');
readln(n);
Writeln('Vvedite M');
readln(m);

//рандомное заполнение
for i:=1 to n do
for j:=1 to m do
a[i,j]:=random(10)+1;

// вивод на екран
for i:=1 to n do
begin
for j:=1 to m do write(a[i,j],' ');
writeln;
end;

NomStolb := 3;
suma:=0;
max:= a[1,NomStolb];
//нахождение суми елементов NomStolb столбца и макс. елемента.
for i := 1 to n do
begin
suma:= suma + a[i,NomStolb];
if (max < a[i,NomStolb])then max := a[i,NomStolb];
end;

writeln('Srednee arifmeticheskoe= ', suma/n);
writeln('max = ', max);

readln;
end.

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.