Исправьте ошибки. Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами (Паскаль)var  i,n,i1,i2:longint;  a:array[1..100] of real;  amin,amax,p:real;begin  assign (i...

Исправьте ошибки. Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами (Паскаль) var  i,n,i1,i2:longint;   a:array[1..100] of real;   amin,amax,p:real; begin   assign (input,'input.txt');   assign (output,'output.txt');   reset (input);   rewrite (output);     readln(n);        p:=1;        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                           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');                                           end;                  write (abs(p):0:3);                  close (input);                  close (output); end.  в ответе в выходном файле необходимо вывести 0.000, если между максимальным и минимальным по модулю элементом нет других элементов.
Гость
Ответ(ы) на вопрос:
Гость
var  i, n: longint;   a: array[1..10] of real;   amin, amax, p: real; begin   assign(output, 'output.txt');   rewrite(output);   readln(n);   if n = 2 then   begin     writeln('0 ');     close(output);   end   else   begin     p := 1;     for i := 1 to n do       read(a[i]);     amin := a[1];     for i := 1 to n do       if amin >= abs(a[i]) then         amin := a[i];     amax := a[1];     for i := 1 to n do     begin       if amax <= a[i] then         amax := a[i];     end;     if n > 2 then       for i := 2 to n - 1 do         p := p * a[i];     write(p:0:3);     close(output);   end; end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы