A[1..10, 1..10] B[1..10] C[1..10] Вычислить построчно в верхней треугольной матрице A...

0 голосов
22 просмотров

A[1..10, 1..10]
B[1..10]
C[1..10]

Вычислить построчно в верхней треугольной матрице A среднее геометрическое значение положительных элементов массива A.
Разместить среднее геометрическое в соответствующей ячейке массива B
(если положительных элементов не найдено, то указать значение - 0).
Разместить количество указанных положительных элементов в соответствующей ячейке массива C.

Буду очень признателен


image

Информатика (100 баллов) | 22 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

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

(194k баллов)