Описать функцию, определяющую среднее геометрическое элементов одномерного массива A(K), k<=50 за исключением максимального и минимального по абсолютной величине - Pascal(Паскаль)



uses crt;
const nmax=50;
type Tmas=array[1..nmax] of real;
function SrGm(k:integer;x:Tmas):real;
var i:integer;
    p,min,max:real;
begin
min:=abs(x[1]);max:=abs(x[1]);
for i:=1 to k do
   begin
     if abs(x[i])<min then min:=abs(x[i]);
     if abs(x[i])>max then max:=abs(x[i]);
   end;
p:=1.0;
for i:=1 to k do
if (x[i]<>max)and(x[i]<>min)then
p:=p*abs(x[i]);
SrGm:=sqrt(p);
end;
var a:Tmas;
    n,i:integer;
begin
clrscr;
randomize;
repeat
write('n=');
readln(n);
until(n>0)and(n<=nmax);
for i:=1 to n do
  begin
    a[i]:=10*random-4;
    write(a[i]:5:2);
  end;
writeln;
writeln('SrGeom=',SrGm(n,a):0:5);
readln
end.


Leave a Comment

31 − = 26