Тамика
Котовчанин
|
||||||||||||||||
#1 | ||||||||||||||||
Не удаляет все положительные элементы из вектора - C++24.06.2014, 16:33. Просмотров 277. Ответов 4
Метки нет Все метки)
(
Добрый день, форумчане!
Читала на форуме, как правильно удалять элементы из вектора по индексу... Но почему-то у меня не получается. Прошу вашей подсказки. Может где-то что-то не учла... В общем, код таков. Есть вектор, он сортируется методом вставки, а потом удаляются все положительные элементы. Это в идеале. Но моя функция
Всем заранее спасибо!
Попробвала без цикла, всё равно не то...
0
|
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
24.06.2014, 16:33 |
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Не удаляет все положительные элементы из вектора (C++):
4
Положительные элементы вектора увеличить в 10 раз - C++ Заменить положительные элементы вектора А(10) нулями - C++ Дан массив A[1.50], элементы которого отличны от нуля. Расположить их в таком порядке, чтобы первыми были все положительные элементы, а затем - все о - C++ В массив X записать сначала все положительные элементы M1 а затем все отрицательные элементы M2 - C++ Скопировать из исходного вектора положительные элементы в один массив, а отрицательные - в другой - C++
|
Tulosba
:)
![]() 4705 / 3240 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
|
||||||
24.06.2014, 16:45 | #4 | |||||
Что здесь по-Вашему происходит?
Добавлено через 2 минуты Как-то так надо размер менять:
1
|
Тамика
Котовчанин
|
||||||
24.06.2014, 16:51 [ТС] | #5 | |||||
std::remove_if - вернет мне итератор преобразованного вектора, в котором все элементы, для которых "предикат" равен фолс, перенесены в конец вектора.
Возвращает нам итератор начала этой части, которую нужно удалить. Затем с помощью erase удаляем этот кусок. Чёрт, пока я это писала, то поняла, где зафейлила. ![]() Добавлено через 1 минуту Я не дописала итератор конца того куска, который нужно удалить. Вот и "ирейзился" только первый положительный элемент...
![]()
0
|
24.06.2014, 16:51 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
24.06.2014, 16:51 |
Привет! Вот еще темы с ответами:
5
Программа которая удаляет из массива все отрицательные элементы - C++ В однородном массиве все отрицательные элементы увеличить на 2, а все положительные заменить на 1 - C++
В массиве заменить все отрицательные элементы на минимальный элемент, а все положительные – на максимальный - C++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |