program zad;
var
a:array[1..20] of integer;
i,i1,i2,k,k1,k2:integer;
sum:real;
begin
randomize;
writeln('исходный массив: ');
for i:=1 to 20 do
begin
a[i]:=random(101)-50;
write(a[i]:4);
end;
for i:=20 downto 1 do
begin
if a[i]<0 then i1:=i;
end;
for i:=1 to 20 do
begin
if a[i]>=0 then i2:=i;
end;
k1:=0;k2:=0;
for i:=1 to 20 do
begin
if a[i]<0 then k1:=k1+1;
if a[i]>=0 then k2:=k2+1;
end;
if (k1=0) or (k2=0) then
begin
writeln('ошибка!');
readln;
exit;
end;
writeln;
writeln('преобразованный массив: ');
for i:=1 to 20 do
begin
if i=i1 then
begin
k:=a[i];
a[i]:=a[i2];
a[i2]:=k;
end;
end;
for i:=1 to 20 do
write(a[i]:4);
readln;
end.