Другие языки программирования и технологии

Дан двумерный массив C(m,n). Найти произведение элементов, больших среднего значения. Помогите пожалуйста!!! На паскале

program num;
Var a:array [1..100, 1..100] of integer;
i, j, n, m, s :integer;
sred, p :real;
begin
writeln('Введите размерность массива');
readln(n, m);
writeln('Введите элементы массива');
for i:=1 to n do
for j:=1 to m do
begin
readln (a [ i, j ]);
s :=s+a [ i, j ];
end;
sred:=s/(n*m);
writeln('Среднее арифметическое элементов= ', sred);
p:=1;
for i:=1 to n do
for j:=1 to m do
if a [ i, j ] > sred then p:=p * a [ i, j ];
writeln('Произведение элементов больших среднего значения= ', p);
end.
AM
Armen Meliqyan
56 353
Лучший ответ
Урок на пользу пошёл :)) Если просите написать программу, то всегда указывайте язык программирования. Догадаться по вопросу о языке чаще всего невозможно. Например, у вас размерность массива указана в круглых скобках, а это бейсик, фортран, ада,. . но не паскаль, не Си, не Си++

program N57130256;
var c:array[1..100,1..100] of integer;
m,n,i,j:integer;
p:longint;
s:real;
begin
s:=0;
p:=1;
write('Введите кол-во строк M: ');
readln(m);
write('Введите кол-во столбцов N: ');
readln(n);
writeln('Введите массив: ');
for i := 1 to m do
for j := 1 to n do
begin
write('C[',i,',',j,']: ');
readln(c[ i, j]);
s:=s+c[ i, j];
end;
s:=s/(m*n);
for i := 1 to m do
for j := 1 to n do
if c[ i, j] > s then
p := p*c[ i, j];
writeln('Произведение элементов, больших среднего = ',p);
readln
end.
Сначала пробегаешься в цикле по всем элементам, ищешь их сумму. Потом сумму делишь на количество элемнтов. Это будет среднее значение. Потом опять пробегаешься по всем элементам и если элемент больше среднего значения, то накапливаешь произведение. Код мне лень писать. А может мне тоже начать писать программы на паскале за скомную плату?

Похожие вопросы