Сьогодні | Разом | |
Відвідувань | 25 | 5337204 |
Авторізацій | 0 | 428635 |
Користувачів | 0 | 2682 |
28. Удалить первый нулевой элемент массива
k := 1; while (k <= n) and (a[k] <> 0) do k := k + 1;Итак, переменная k содержит индекс первого нулевого элемента массива, если он существует, или на единицу больше, чем значение переменной n. Это означает, что в массиве нет нулевого элемента (, а значит и удалять ничего не нужно).
if (k <= n) then begin // Удалить k-й элемент массива endОбъединим в единое целое получим:
k := 1; while (k <= n) and (a[k] <> 0) do k := k + 1; if (k <= n) then begin n := n - 1; for i := k do n do a[i] := a[i + 1] endИ так, первый нулевой элемент массива удален. А как быть, если надо удалить все нулевые элементы массива?