// PascalABC.NET 3.2, сборка 1325 от 19.10.2016
begin
var n:=ReadInteger('Введите количество элементов:');
var a:=ReadArrReal('Введите данные:',n).Where(x->x>0).ToArray;
Writeln('Среднегеометрическое положительных элементов равно ',
power(a.Where(x->x>0).Aggregate(1.0,(x,y)->x*y),1/a.Length))
end.
Пример
Введите количество элементов: 7
Введите данные: 3.2 -3 4 0 6.1 5 -2
Среднегеометрическое положительных элементов равно 4.44505820618421