Урок 23 задача 2 массив перенести все нули в конец
Primary tabs
Есть массив (пусть не более 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.
- Log in to post comments
- 415 reads