Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Whoops
6 / 6 / 0
Регистрация: 29.08.2014
Сообщений: 67
Завершенные тесты: 1
#1

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

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

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

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

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

Доступ к паре в map<string, vector<pair<string, string>>>Temp - C++
Подскажите пожалуйста как получить данные в векторе пар ? void showData(const map&lt;string, vector&lt;pair&lt;string, string&gt;&gt;&gt;Temp) { ...

Удаление элементов из std::vector - C++
У меня есть класс Zone. Но объявлен как массив vector в другом классе. class World { public: std::vector&lt;Zone*&gt;Zones; ... ...

Удаление первых n элементов из vector - C++
Почему, к примеру, если k=3 а pop=2, то студия выдаст ошибку(итератор вне допустимого диапазона) при запуске функции erase. По моей логике,...

Vector, список. Удаление и вставка элементов - C++
Из входного потока сформировать вектор вещественных чисел. Удалить из вектора все элементы, у которых дробная часть &lt; 0.5. Перед каждым...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Whoops
6 / 6 / 0
Регистрация: 29.08.2014
Сообщений: 67
Завершенные тесты: 1
28.03.2016, 21:54  [ТС] #2
Вроде решил,скину код,может кому пригодится.

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());//удаление последующих одинаковых элементов вектора            
    }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2016, 21:54
Привет! Вот еще темы с ответами:

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

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

На основе исходного std::vector<std::string> содержащего числа, создать std::vector<int> с этими же числами - C++
подскажите есть вот такая задача. Есть список . Создать второй список, в котором будут все эти же числа, но не в виде строк, а в виде...

Удаление одинаковых элементов из вектора <string> - C++
# include &lt;iostream&gt; # include &lt;vector&gt; # include &lt;iterator&gt; # include &lt;string&gt; # include &lt;fstream&gt; # include &lt;cstdio&gt; #...


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

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

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