//Не самое изящное решение//Pascal ABC.NET 3.1Const n=5; Var ar:array[1..2*n] of integer; j,a,k,i,t:integer;begin write('A:');readln(a); writeln('Array:'); for i:=1 to n do readln(ar[i]); j:=1; k:=n; while j<>k do begin if ((ar[j]>=0) and (ar[j+1]>=0)) or ((ar[j]<=0) and (ar[j+1]<=0)) then begin t:=ar[k]; for i:=k-1 downto j do ar[i+1]:=ar[i]; ar[j+1]:=a; inc(k); j:=j+2; ar[k]:=t; end else inc(j); end; writeln('Final array:'); for i:=1 to k do write(ar[i]:4);end.Пример ввода 1:612345Пример вывода 1:1 6 2 6 3 6 4 6 5Пример ввода 2:6-12-34-5Пример вывода 2:-1 2 -3 4 -5Пример ввода 3:612-345Пример вывода 3:1 6 2 -3 4 6 5