Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.68/22: Рейтинг темы: голосов - 22, средняя оценка - 4.68
 Аватар для booker
24 / 24 / 5
Регистрация: 21.11.2012
Сообщений: 106

vector::erase()?

30.12.2012, 12:53. Показов 5327. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть вектор структур

C++
1
2
3
4
5
struct person{
    string name;
    int age;
 
vector <person> repw;
задача отсортировать вектор так, чтобы каждый последующий контейнер при условии совпадений поля name был удалён.

пытаюсь так

C++
1
2
3
4
int it1,it2;
    for (it1 = 0;it1!=repw.size();it1++)
        for (it2 = it1+1;it2!=repw.size();it2++)
            if(repw[it1].name==repw[it2].name) repw.erase(repw.begin()+it2);
не выходит. С итераторами колдовать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.12.2012, 12:53
Ответы с готовыми решениями:

vector.erase
Помогите пожалуйста с синтаксисом удаления любого элемента из вектора Вот тут ошибка: #include &lt;vector.h&gt; void main() { ...

Erase vector; iterator
for (int k = 0; k &lt; passengers.size(); k++) { int *dst_floor_end = NULL; int ucf = std::get&lt;1&gt;(passengers); int dst_floor =...

std::vector::erase
Всем привет. Буду очень рад, если кто-нибудь может мне объяснить логику... см. скриншот....

30
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
30.12.2012, 16:14
Студворк — интернет-сервис помощи студентам
PS:booker, вот тебе хороший ресурс (не бери в голову что он на английском) там всё четко и с необходимыми примерами http://www.cplusplus.com/refer... r/operator[]/ - в частности индексация. Кроме индексации кстати есть ещё метод std::vector.at - тоже интересная штучка http://www.cplusplus.com/refer... vector/at/
0
go
30.12.2012, 18:33

Не по теме:

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
захочешь потом перейдёшь на итераторы это всегда можно успеть сделать
к списку тоже будете по индексации обращаться? :D

0
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
31.12.2012, 12:37
Это кстати касяк с листом, там очень не хватает индиксатора!! После C# особенно трудно понять почему С++ ругается на [] в листе.
0
 Аватар для BumerangSP
4311 / 1423 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
31.12.2012, 12:40
Wolkodav, в чем проблема, можно перегрузить
0
What a waste!
 Аватар для gray_fox
1612 / 1304 / 180
Регистрация: 21.04.2012
Сообщений: 2,735
31.12.2012, 12:41
Цитата Сообщение от Wolkodav Посмотреть сообщение
Это кстати касяк с листом, там очень не хватает индиксатора!!
Индексировать список - как минимум странная идея - у этой операции будет линейная сложность.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
31.12.2012, 13:29
Цитата Сообщение от Wolkodav Посмотреть сообщение
Это кстати касяк с листом, там очень не хватает индиксатора!! После C# особенно трудно понять почему С++ ругается на [] в листе.
На то он и C# что там не думают про эффективность...

Если вам нужна индексация и вы используете std::list это значит что вы не правильно выбрали контейнер.

В любом случае можно легко сначала использовать лист, а нужном месте перейти на вектор, путем копирования одного в другое.
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
31.12.2012, 13:38
Цитата Сообщение от Wolkodav Посмотреть сообщение
почему С++ ругается на [] в листе.
А какая там индексация? Это список, который мы привыкли видеть. В шарпе лиск это аналог вектора в С++
0
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
31.12.2012, 18:13
Как и знал, что моя реплика вызовет просто кучу негодования непонимания и лучше бы я это не писал(
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
31.12.2012, 20:34
и лучше бы я это не писал(
Конечно, потому как она говорит что вы чет не понимаете...вот все и пытаются объяснить..
0
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
31.12.2012, 21:16
Я говорю о том, что при переходе от C# к С++ в ходе работы возникают некоторые забавные ситуации и что хотелось бы что бы их было меньше путём добавления еще чего-то, не столь обременительного, но порой невредного.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
31.12.2012, 21:21
Да нет смысла таскать код туда сюда... так как языки различны и различные подходы...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.12.2012, 21:21

Ошибка с vector.erase
Выдает ошибку vector erase iterator outside range на моменте вывода нового вектора. #include &lt;iostream&gt; #include &lt;string&gt; ...

Функция Erase класса vector
Нужно удалить из вектора, в котором объекты авторского класса, объекты с весом более 300. Написал цикл, но при запуске пишет Iterators...

Крах при vector.erase()
Всё вроде бы работает так, как мне надо...но когда остаётся 1 элемент и его нужно очистить, программа крашится. Что я сделал не так? ...

Vector : iterator & erase
Всем доброго времени суток! Необходимо пройтись по двум векторам и удалить схожие элементы. Но после первого удаления возникает исключение...

Vector <bool> erase iterator outside range
Помогите, пожалуйста. При компиляции появляется ошибка (фото ниже). Это реализация алгоритма Хаффмана. Не могу понять, что не так, по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат» Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru