Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Нужна помощь
Форум программистов > Системное программирование > C, С++ и С Builder > Общие вопросы по С и С++
Guest_Maximus_*
Народ, подскажите пожалуйста как удалить из массива некоторые его члены.
Что то заклинило меня на этой задаче, никак не получается сделать.
Вот собственно сама задача:
Даны действительные числа a1,....,an (n<=150). Оставить без изменения последовательность , если она упоpядочена по неубыванию или по невозpастанию; в пpотивном случае удалить из последовательности те члены, поpядковые номеpа котоpых кpатны 4, сохpанив пpежним поpядок оставленных членов. (Замечание:удалить из существующего массива, а не создавать новый !).
Acorn
Цитата(Guest_Maximus_* @ 19:12:2005, 19:19 )
Народ, подскажите пожалуйста как удалить из массива некоторые его члены.
Что то заклинило меня на этой задаче, никак не получается сделать.
Вот собственно сама задача:
Даны действительные числа a1,....,an (n<=150).  Оставить без изменения последовательность ,  если она упоpядочена по неубыванию или по невозpастанию;  в пpотивном случае удалить из последовательности  те  члены,  поpядковые  номеpа котоpых кpатны 4, сохpанив пpежним поpядок оставленных членов. (Замечание:удалить из существующего массива, а не создавать новый !).
*

За WMZ сделаю быстро и качественно smile.gif
KmeT
первый вариант---юзать stl::vector. там все уже реализовано
второй--сдвигаешь элементы которые справа от удаляемого на один индекс влево
Guest_Maximus_*
to programmer:

За пару сторочек??? Совесть не замучает.

to KmeT:

Во-первых. Что за stl::vector. Я в программировании новичёк, так что прошу объяснить.

Во-вторых. То что необходимо сдвигать элементы влево я и сам догадался, только вот проблема реализовать это.
KmeT
STL Standard Template Library любой маломальский современный компилятор С++ ее подеживает
vector-это койтенер с произвольным доступом. В общем читай доки. Но предпологается, что программист на С STL знает.

И, имхо, реализовать сдвиг элм. массива должен уметь даже новичек в программировании, потому как это необходимые основы алгоритмизации


for (int i=iDelElm; i<iItemInArr-1; i++) Arr[i]=Arr[i+1];
Должно быть что-то похожее на это).
В серьезных задачах при необходмости оптимизации и больший обьемах массивов следует это делать, через функции работы с памятью.
Guest_Maximus_*
Спасибо KmeT хоть за какую-то помощь, но задачу я и сам кое-как домучал.

for (j=0;j<=N/4;j++)
for (i=4*j-j;i<3+4*j-j;i++)
A[i]=A[i+j];


P.S. Реализовывать сдвиг элементов массива и я умею, просто меня подглючило huh.gif на этой задаче.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2009 IPS, Inc.