uses crt;
const nmax=20;
var a:array[1..nmax] of real;
n,i,k:byte;
mx,a1,p:real;
begin
clrscr;
repeat
write('Размер массива от 2 до ',nmax,' n=');
readln(n);
until n in [2..nmax];
writeln('Введите ',n,' элементов масива, вещественные числа:');
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
clrscr;
mx:=a[1];
writeln('Исходный массив:');
for i:=1 to n do
begin
write(a[i]:0:2,' ');
if abs(a[i])>abs(mx) then mx:=a[i];
end;
writeln;
writeln('Максимальный по модулю элемент=',mx:0:2);
k:=0;
for i:=1 to n do
if a[i]<0 then
begin
k:=i;
break;
end;
if k=0 then writeln('В массиве нет отрицательных элеметов. Вычисление произведения невозможно.')
else
begin
writeln('Первый отрицательный элемент=',a[k]:0:2);
p:=mx*a[k];
write('Произведение=',p:0:2);
end;
readln
end.