Очень нужна помощь. Помогите найти ошибки - Паскаль.Условие: Дан одномерный массив, состоящий из вещественных элементов. Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами. Не совсем то выводит, и модуль может как-то через abs надо. program proizvedenie; var q,z,w,i,n,i1,i2:integer; a:array[1..1000] of real; amin,amax,pr:real; begin assign (input,'input.txt'); assign (output,'output.txt'); reset (input); rewrite (output); readln(n); for i:=1 to n do read (a); amin:=a[1]; for i:=1 to n do begin if a<amin then begin amin:=a; i1:=i; end; end; amax:=a[1]; for i:=1 to n do begin if a > amax then amax:=a; i2:=i; end; if i2>i1 then begin q:=i1; w:=i2; end else begin q:=i2; w:=i1; end; if (w-q)>1 then begin pr:=1; for z:=q to w do pr:=pr*a[z]; end else write (0); close (input); close (output); end.
Не гарантирую, что нет иных ошибок, но: for z:=q to w do pr:=pr*a[z]; в этом случае перемножаются максимальный и минимальные элемент тоже. нужно for z:=q + 1 to w - 1 do pr:=pr*a[z]; и, да, нужно с модулем if abs(a)<abs(amin) then begin amin:=a; if abs(a) > abs(amax) then а здесь где begin??? amax:=a; i2:=i; и где вывод ответа?