Удаление элемента из массива

Алгоритм решения

Допустим, требуется удалить элемент под номером К из массива А, состоящего из 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)