uses crt;
const max=50;
var a:array[1..max] of integer;
n,i,j,k:byte;
x:integer;
begin
clrscr;
repeat
write('Размер массива n=');
readln(n);
until n in [1..max];
writeln('Исходный массив:');
for i:=1 to n do
begin
a[i]:=random(33)-2;
write(a[i],' ');
end;
writeln;
writeln;
k:=0;
for i:=1 to n do
if a[i]=0 then
begin
k:=k+1;
x:=a[i];
for j:=i downto k+1 do
a[j]:=a[j-1];
a[k]:=x;
end;
writeln('Перестановка:');
for i:=1 to n do
write(a[i],' ');
readln
end.