Задача из зачетных 1-го курса 1-го семестра мех-мата,
она с предварительным пояснением и звучит так:
В последующих задачах под удалением элемента массива следует понимать
исключение этого элемента из массива путем смещения всех
следующих за ним элементов на 1 позицию.
Последнему элементу массива присваивается значение 0.
Дан массив, состоящий из N целых чисел. Удалить из массива каждый второй элемент.
Значение номера определяется по положению в исходном массиве.
Решение напросилось, примерно, такое:
Пусть количество элементов в массиве n.
Поделим его на 2, округлив до ближайшего целого,
получим число m - количество неудаленных (оставшихся) элементов.
Далее цикл по i от 2 до m, переприсваиваем: mas(i):=mas(2*i-1) ,
и ещё один цикл по i от m+1 до n,
в котором зануляем оставшиеся элементы: mas(i):=0
Но данный способ как-то не вяжется с методой предварительного пояснения к задаче.
Как должен выглядеть более грамотный алгоритм?
Спасибо. (Если это возможно, то подробнее и с пояснениями).
удалением элемента массива путем смещения |