Сьогодні | Разом | |
Відвідувань | 423 | 5307127 |
Авторізацій | 66 | 426693 |
Користувачів | 39 | 2656 |
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И так, первый нулевой элемент массива удален. А как быть, если надо удалить все нулевые элементы массива?