Урок 21.Задача №2 Перенести все нули в конец массива
Primary tabs
Есть массив (пусть не более 10 элементов):
[0, 3, 2, 1, 0, 3, 2, 4, 0, -5]Задача: перенести все нули в конец, так чтобы в итоге получилось:
[3, 2, 1, 3, 2, 4, -5, 0, 0, 0]
program array_zero; var len,i,j,k : integer; arrInt : array [1..7] of integer; begin len := high(arrInt); i := 1; randomize; // заполнение массива for k:=1 to high(arrInt) do arrInt[k] := random(5); // вывод массива for k:=1 to high(arrInt) do write(arrInt[k], ' '); while(i < len) do begin if(arrInt[i] = 0) then begin for j:=i to len do begin arrInt[j] := arrInt[j+1]; end; arrInt[len] := 0; len -= 1; end else i += 1; end; // вывод результата writeln(); for k:=1 to high(arrInt) do begin write(arrInt[k],' '); end; readln(); end.
- Log in to post comments
- 1880 reads
vedro-compota
Thu, 04/22/2021 - 21:07
Permalink
решение работает, теперь
решение работает, теперь решите за сложность менее 2N
_____________
матфак вгу и остальная классика =)