ВУЗ:
Составители:
Рубрика:
31
Алгоритм первого решения:
1. Просматриваем массив.
2. Если элемент <0, то удаляем его и n уменьшаем.
3. Если элемент >=0, то переходим к следующему.
Фрагмент программы:
…
{В цикле просматриваем элементы массива}
I := 1;
while I <= n do
begin
{Проверяем, не нужно ли i-й элемент удалять}
if A[i] < 0 then
begin
{Если нужно – удаляем i-й элемент}
for j := i to n - 1 do {Сдвигаем}
A[j] := A[j+1];
Dec(n); {Уменьшаем количество элементов}
end
else Inc(i); {Если удалять не нужно, то переходим
к следующему элементу}
end;
…
Пример прогона алгоритма:
Исходный массив:
0: i=1, n=6: -1 -2 2 -3 -4 3
Состояния массива после обработки очередного элемента массива:
1: i=1, n=5: -2 2 -3 -4 3 (удален –1)
2: i=1, n=4: 2 -3 -4 3 (удален –2)
3: i=2, n=4: 2 -1 -2 3 (перешли на следующий)
4: i=2, n=3: 2 -4 3 (удален –3)
5: i=2, n=2: 2 3 (удален –4)
6: i=3, n=2: 2 3 (перешли на следующий)
Страницы
- « первая
- ‹ предыдущая
- …
- 29
- 30
- 31
- 32
- 33
- …
- следующая ›
- последняя »