Нужна помощь

  • Автор темы Guest_Maximus_*
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest_Maximus_*

Гость
#1
Народ, подскажите пожалуйста как удалить из массива некоторые его члены.
Что то заклинило меня на этой задаче, никак не получается сделать.
Вот собственно сама задача:
Даны действительные числа a1,....,an (n<=150). Оставить без изменения последовательность , если она упоpядочена по неубыванию или по невозpастанию; в пpотивном случае удалить из последовательности те члены, поpядковые номеpа котоpых кpатны 4, сохpанив пpежним поpядок оставленных членов. (Замечание:удалить из существующего массива, а не создавать новый !).
 

acorn

PHP Developer
29.08.2004
585
3
#2
<!--QuoteBegin-Guest_Maximus_*+19:12:2005, 19:19 -->
<span class="vbquote">(Guest_Maximus_* @ 19:12:2005, 19:19 )</span><!--QuoteEBegin-->Народ, подскажите пожалуйста как удалить из массива некоторые его члены.
Что то заклинило меня на этой задаче, никак не получается сделать.
Вот собственно сама задача:
Даны действительные числа a1,....,an (n<=150). Оставить без изменения последовательность , если она упоpядочена по неубыванию или по невозpастанию; в пpотивном случае удалить из последовательности те члены, поpядковые номеpа котоpых кpатны 4, сохpанив пpежним поpядок оставленных членов. (Замечание:удалить из существующего массива, а не создавать новый !).
[snapback]28549" rel="nofollow" target="_blank[/snapback]​
[/quote]
За WMZ сделаю быстро и качественно :unsure:
 
K

KmeT

Гость
#3
первый вариант---юзать stl::vector. там все уже реализовано
второй--сдвигаешь элементы которые справа от удаляемого на один индекс влево
 
G

Guest_Maximus_*

Гость
#4
to programmer:

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

to KmeT:

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

Во-вторых. То что необходимо сдвигать элементы влево я и сам догадался, только вот проблема реализовать это.
 
K

KmeT

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

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


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

Guest_Maximus_*

Гость
#6
Спасибо 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. Реализовывать сдвиг элементов массива и я умею, просто меня подглючило :) на этой задаче.
 
Статус
Закрыто для дальнейших ответов.