uses crt;
const nmax=100;
var a:array[1..nmax] of real;
n,i,k:byte;
b,sg,sa:real;
begin
clrscr;
randomize;
repeat
write('Размер массива до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Массив:');
for i:=1 to n do
begin
//поскольку про положительные числа в услоаии ничего нет
//будем считать что все положительные, иначе не посчитать сред. геометр.
a[i]:=20*random;
write(a[i]:5:1);
end;
writeln;
writeln;
write('Введите число для сравнния B=');
readln(b);
sg:=1;sa:=0;k:=0;
for i:=1 to n do
if a[i]>b then
begin
k:=k+1;
sg:=sg*a[i];
sa:=sa+a[i];
end;
if k=0 then write('Элементов больше ',b:0:1,' нет!')
else
begin
sg:=exp(ln(sg)/k);
sa:=sa/k;
writeln('Среднее геометрическое=',sg:0:2);
writeln('Среднее арифметическое=',sa:0:2);
end;
readln
end.