uses crt;
const nmax=100;
var a:array[1..nmax] of integer;
n,i,j,k:byte;
x:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива до ',nmax div 2,' n=');//массив может удвоиться
readln(n);
until n in [1..nmax div 2];
writeln('Введите в массив ',n,' положительных и отрицатедьных целых чисел:');
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
clrscr;
writeln('Исходный массив:');
for i:=1 to n do
write(a[i],' ');
writeln;
writeln;
i:=1;//идем с начала
while i<=n do
begin
if a[i]>0 then//если положительный
begin
n:=n+1;//увеличиваем размер массива
for j:=n downto i+1 do//к кнцу массива
a[j]:=a[j-1];//сдвигаем все элементы до этого
a[i]:=0;//на его место пишем 0
i:=i+2;//перепрыгиванм через это число
end
else i:=i+1;//иначе просто идем вперед
end;
writeln('Массив после вставки нолей:');
for i:=1 to n do
write(a[i],' ');
readln
end.