ВУЗ:
Составители:
Рубрика:
30
a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10]
1 3 9 1 0 1 3 2 7 2
^ ^ ^
a[k] a[z] a[n]
Массив A после удаления:
a[1] a[2] a[3] a[4] a[5] a[6] a[7]
1 3 9 3 2 7 2
^ ^ ^
a[k] a[z] a[n]
После удаления n стало меньше на d (в нашем примере на 3).
Общий алгоритм решения:
1. Сдвинуть элементы вперед на d элементов, начиная с z-го.
2. Уменьшить n на d.
Фрагмент программы:
Var
K : integer; {Индекс элемента, после которого удаляем}
Z : integer; {Индекс элемента, до которого удаляем}
D : integer; {Количество удаляемых элементов}
…
Begin
…
{Вычисляем количество удаляемых элементов}
d := z - k - 1;
{1 - сдвигаем элементы}
for I := z to n do
A[ I – d ] := A[i];
{2 - уменьшаем n на d}
Dec(n, d);
…
Задача 13: Из массива удалить все элементы, которые меньше 0.
Рассмотрим два решения этой задачи.
Страницы
- « первая
- ‹ предыдущая
- …
- 28
- 29
- 30
- 31
- 32
- …
- следующая ›
- последняя »