15.05.2008, 14:32
общий
это ответ
Здравствуйте, Sashka!
(без кода, просто общая идея)
Если есть динамический массив, то должна быть переменная, отвечающая за его текущую длину.
int iLength.
int *pInt;
...
pInt = new int[1000];
...
for(int i=0; i<1000; i++)
pInt = 10;
iLength = 1000;
// тут важно помнить, что массивы индексируются с нуля, поэтому последний элемент не 1000-й, а 999-й, или iLength-1-й
//удаление делается путём сдвига на один назад всех элементов массива начиная с удаляемогого
int iDel = 545; // удалим 545-й
for(int i=iDel-1; i<iLength-1; i++)
pInt[i] = pInt[i+1];
iLength = iLength-1; // массив стал на 1 меньше.
PS. в с++ стандарте есть втроенные массивы, которые сами следят за границами, сами при удалении всё сдвигают.
это например stl::vector<data_type>