Вот программа
С использованием файлов
program proizvedenie;
uses crt;
var a:array[1..1000] of real;
amax,amin,p:real;
i,n,i1,i2:integer; inp,outp:text;
begin
assign(inp,'input.txt');
assign(outp,'output.txt');
readln(n);
p:=1;
reset(inp);
for i:=1 to n do
read(inp,a[i]);
close(inp);
amin:=a[1];
for i:=1 to n do
if abs(amin)>=abs(a[i]) then begin
amin:=a[i]; i1:=i;
end;
amax:=a[1];
for i:=1 to n do
if abs(amax)<=abs(a[i]) then begin <br>amax:=a[i]; i2:=i;
end;
if (i2>i1) and (i1+1<>i2) then
for i:=i1+1 to i2-1 do
p:=p*a[i] else
if (i1>i2) and (i1-1<>i2) then
for i:=i1-1 downto i2+1 do
p:=p*a[i] else begin
write(0); exit; end;
rewrite(outp);
write(outp,p);
close(outp);
end.
Без файлов
program proizvedenie;
uses crt;
var a:array[1..1000] of real;
amax,amin,p:real;
i,n,i1,i2:integer;
begin
p:=1;
readln(n);
for i:=1 to n do
read(a[i]);
amin:=a[1];
for i:=1 to n do
if abs(amin)>=abs(a[i]) then begin
amin:=a[i]; i1:=i;
end;
amax:=a[1];
for i:=1 to n do
if abs(amax)<=abs(a[i]) then begin <br>amax:=a[i]; i2:=i;
end;
if (i2>i1) and (i1+1<>i2) then
for i:=i1+1 to i2-1 do
p:=p*a[i] else
if (i1>i2) and (i1-1<>i2) then
for i:=i1-1 downto i2+1 do
p:=p*a[i] else begin
write(0); exit; end;
write(p);
end.
Ошибки:
1)В разделе описания переменных var нет файловых переменных input и output;
2)В строке 24 нет begin...end;
3)Сравнивать нужно модули переменных amin и amax с модулем a[i];
+++Много лишних переменных