Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Whoops
21 / 7 / 3
Регистрация: 29.08.2014
Сообщений: 78
Завершенные тесты: 1
#1

Удаление элементов из vector<string> - C++

27.03.2016, 21:36. Просмотров 460. Ответов 1
Метки нет (Все метки)

Здравствуйте.Решаю одну задачу, столкнулся с такой проблемой.
Имеется vector<string>, в котором записан набор слов.Требуется удалить одинаковые элементы,кроме самого первого встречающегося.Знаю,что через другой контейнер было бы полегче реализовать и эффективнее,но по заданию надо выполнить так.
Буду очень благодарен,кто подскажет реализацию.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2016, 21:36
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Удаление элементов из vector<string> (C++):

Удаление vector, list, string
Привет! Такая задача. В программе я описал класс Class1. Класс содержит...

Не могу вставить элемент в second(vector) мультимапа. multimap<string, vector<string>>
#include &lt;iostream&gt; #include &lt;map&gt; #include &lt;vector&gt; #include &lt;algorithm&gt;...

Доступ к паре в map<string, vector<pair<string, string>>>Temp
Подскажите пожалуйста как получить данные в векторе пар ? void...

Удаление первых n элементов из vector
Почему, к примеру, если k=3 а pop=2, то студия выдаст ошибку(итератор вне...

Удаление элементов из std::vector
У меня есть класс Zone. Но объявлен как массив vector в другом классе. ...

Перенос данных c vector<string> в vector<double>
Необходимо перенести введенные данные в vector&lt;string&gt; в vector&lt;double&gt;, я...

1
Whoops
21 / 7 / 3
Регистрация: 29.08.2014
Сообщений: 78
Завершенные тесты: 1
28.03.2016, 21:54  [ТС] #2
Лучший ответ Сообщение было отмечено Whoops как решение

Решение

Вроде решил,скину код,может кому пригодится.

C++
1
2
3
4
5
6
for (vector<string>::iterator it = vec.begin(); it != vec.end(); ++it){
        int score = count(vec.begin(), vec.end(), *it); //кол-во повторений одного слова    
        cout << score << endl;
        key = *it;      
        vec.erase(remove(it + 1, vec.end(), key), vec.end());//удаление последующих одинаковых элементов вектора            
    }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2016, 21:54
Привет! Вот еще темы с решениями:

Vector, список. Удаление и вставка элементов
Из входного потока сформировать вектор вещественных чисел. Удалить из вектора...

Удаление элементов из vector; bind или not1
Как правильно забиндить, - сделать аналог, как через лямбду. Или же тут больше...

Какое одинаковое значение можно вернуть из функций <string> f () и vector < <string> > f()?
Понятное дело, что всё обсуждение будет вертеться вокруг аналога NULL. char*...

Как перебрать все элементы в map<string, vector<string>>
Доброго времени суток. Решаю следующую задачу: В файле есть сведения об...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru