Program arrays;
type z= array of integer;
const n=10;
var a: z;
i,sump,sumot,kp,kot,k0: integer;
procedure maxmin(a: array of integer);
var i,r,max,min,imax,imin:integer;
begin
min:=a[0]; max:=a[0];
for i:=0 to n-1 do 
begin
if a[i]<=min then 
begin
min:=a[i]; imin:=i; 
end;
if a[i]>= max then
begin
max:=a[i]; imax:=i; 
end;
end;
writeln('наименьший элемент: ',min,', его номер ' , imin+1);
writeln('наибольший элемент: ',max,', его номер ' , imax+1);
end;
procedure summa(a: array of integer);
var i: integer;
begin
sumot:=0;
sump:=0;
for i:=0 to n-1 do
if a[i]>0 then sump:=sump+a[i]
else sumot:=sumot+a[i];
writeln('сумма отрицательных: ',sumot);
writeln('сумма положительных: ',sump);
end;
procedure kolvo(a: array of integer);
var i: integer;
begin
kp:=0;
kot:=0;
k0:=0;
for i:=0 to n-1 do
begin
if a[i]>0 then kp:=kp+1 else
if a[i]<0 then kot:=kot+1 else
k0:=k0+1;
end;
writeln('количество положительных: ',kp);
writeln('количество отрицательных: ',kot);
writeln('количество нулей: ',k0);
end;
begin
randomize;
setlength(a,n);
writeln('исходный массив:');
for i:=0 to n-1 do 
begin
a[i]:=random(201)-100;
write(a[i],' ');
end;
writeln;
maxmin(a);
summa(a);
kolvo(a);
writeln('среднее арифмитическое положительных: ',sump/kp);
writeln('среднее арифмитическое отрицательных: ',sumot/kot);
end.