Читайте также:
|
|
Алгоритм решения
Допустим, требуется удалить элемент под номером К из массива А, состоящего из N элементов. Для этого необходимо сдвинуть влево на одну позицию все элементы, следующие за элементом под номером К.
Программная реализация
FOR i = K TO n-1
A(i) = A(i + 1)
NEXT i
n = n - 1
пример 11
Дан массив чисел. Удалить первый отрицательный элемент.
Тест
Данные | Результат | |
N=10 | A=(3, 5, -2, -4, 0, 7, 2, 8, 3, -2) | A=(3, 5, -4, 0, 7, 2, 8, 3, -2) |
Исполнение алгоритма
Определение позиции первого отрицательного элемента | ||||
i | Проверка условия | Первый отрицательный элемент | Номер первого отрицательного элемента К | |
A(1)<0 (ложь) 3>0 | ||||
A(2)<0 (ложь) 5>0 | ||||
A(3)<0 (истина) -2<0 | A(3)=-2 | |||
Удаление первого отрицательного элемента | ||||
i | Cдвиг | Массив | n | |
A(3)=A(4) | A=(3, 5, -4, -4, 0, 7, 2, 8, 3, -2) | |||
A(4)=A(5) | A=(3, 5, -4, 0, 0, 7, 2, 8, 3, -2) | |||
A(5)=A(6) | A=(3, 5, -4, 0, 7, 7, 2, 8, 3, -2) | |||
A(6)=A(7) | A=(3, 5, -4, 0, 7, 2, 2, 8, 3, -2) | |||
A(7)=A(8) | A=(3, 5, -4, 0, 7, 2, 8, 8, 3, -2) | |||
A(8)=A(9) | A=(3, 5, -4, 0, 7, 2, 8, 3, 3, -2) | |||
A(9)=A(10) | A=(3, 5, -4, 0, 7, 2, 8, 3, -2, -2) | n=n-1=10-1=9 | ||
A=(3, 5, -4, 0, 7, 2, 8, 3, -2) | ||||
Дата добавления: 2015-07-11; просмотров: 251 | Нарушение авторских прав