A[1..10, 1..10]
B[1..10]
C[1..10]
Вычислить построчно в верхней треугольной матрице A среднее геометрическое значение положительных элементов массива A.
Разместить среднее геометрическое в соответствующей ячейке массива B
(если положительных элементов не найдено, то указать значение - 0).
Разместить количество указанных положительных элементов в соответствующей ячейке массива C.
Буду очень признателен
Answers & Comments
Verified answer
Const n=10;var a:array[1..n,1..n] of integer;b:array[1..n] of real;
c:array[1..n] of integer;
i,j,k:integer; p:real;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(50)-20;
write(a[i,j]:4);
end;
writeln;
end;
for i:=1 to n do
begin
p:=1; k:=0;
for j:=1 to n-i+1 do
if a[i,j]>0 then begin p:=p*a[i,j]; k:=k+1; end;
if k>0 then b[i]:=exp(ln(p)*(1/k)) else b[i]:=0;
c[i]:=k;
end;
for i:=1 to n do write(c[i]:4,' ');
writeln;
for i:=1 to n do write(b[i]:7:2);
writeln;
end.
Пример:
Исходный массив: 12 24 -13 -7 -3 16 16 -3 -17 7
-20 -10 -6 -8 16 18 -4 5 7 -4
-17 -8 9 -16 5 -10 -1 -16 23 -2
11 -15 -2 26 0 -16 3 -8 -11 -11
17 12 -10 -12 3 -11 9 8 28 -1
19 4 -18 -9 2 -17 11 -5 1 -15
-5 -19 29 22 0 -10 12 -15 -2 23
-9 -6 15 10 29 19 11 8 27 26
-3 -12 9 28 20 19 18 -10 -13 -6
2 10 -13 23 -9 -18 25 6 -7 -15
5 4 2 3 3 3 2 1 0 1
13.89 10.02 6.71 9.50 8.49 5.34 25.26 15.00 0.00 2.00