Урок 23 задача 2 массив перенести все нули в конец

Задача 2 Урок 23

Есть массив (пусть не более 10 элементов):

[0,0,3,4,5,86,8,9,0,89]
Задача: перенести все нули в конец, так чтобы в итоге получилось:
[3,4,5,8,8,9,89,0,0,0] 
Решите:
1 Любым способом
2 Решите со сложностью не более чем 2N (не заводя дополнительных массивов)
program zero_end;
type
  arrNum10 = array[1..10] of integer;
const mas : arrNum10 = (0,4,3,4,0,86,8,9,0,89);
  var i,ind_number,b : integer;
begin
  ind_number:=0;
  b:=0;
  for i:=1 to length(mas) do
  begin
      if(mas[i]=0) and (b=0) then
      begin
         ind_number:=i;
         b:=1
      end
      else
      begin
         if(mas[i] > 0) and (b>0) then
         begin
             mas[ind_number]:=mas[i];
             ind_number+=1;
             mas[i]:=0;
         end;
      end;
  end;
   
  // вывод массива
  for i:=1 to length(mas) do
       write(mas[i],' ')
end.    

Key Words for FKN + antitotal forum (CS VSU):