uses crt;
const n=10;
var m:array[1..n]of real;
i,j,k,max:integer;
b,s:real;
begin
clrscr;
write('Массив -> ');
for i:=1 to n do read(m[i]);
readln;
repeat
write('A,B -> ');
readln(a,b);
until a<b;
max:=1;
for i:=1 to n do if abs(m[i])>abs(m[max]) then max:=i;
writeln('Номер максимального по модулю элемента - ',max);
k:=1;
while (k<n) and (m[k]<=0) do inc(k);
s:=0;
for i:=k+1 to n do s:=s+m[i];
writeln('Сумма после первого положительного = ',s);
for i:=1 to n do
for j:=1 to n-1 do
if ((trunc(m[j])>b) or (trunc(m[j])<a)) and (trunc(m[j+1])>=a) and (trunc(m[j+1])<=b) then
begin
k:=m[j];
m[j]:=m[j+1];
m[j+1]:=k;
end;
writeln('Отсортированный массив');
for i:=1 to n do write(m[i]:0:3,' ');
readln;
end.