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

Удалить повторяющиеся элементы из двух векторов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как проверить есть ли в string что нибудь ? http://www.cyberforum.ru/cpp-beginners/thread960156.html
Как проверить есть ли в string что нибудь ? Например функция для проверки стороки "S".
C++ чето написал в общем не работает пишет ошибку в общем ситуация такова чето написал в общем не работает пишет ошибку где то здесь.... { static timeString; temp = 'l'; temp = 'a'; temp = 'b'; temp = 'l'; temp = 0x11; temp = 0x00; temp = 0x00; temp = 0x00; temp = l; temp = l>>8; temp = l>>16; temp = l>>24; sprintf( timeString, "%02d.%02d:%02d ", (timeCodes>>24)&255,... http://www.cyberforum.ru/cpp-beginners/thread960152.html
Определить, является ли символ цифрой C++
предлагает пользователю ввести символ, определяет, является ли он цифрой и выводит предлагает пользователю ввести символ, определяет, является ли он буквой или знаком пунктуации обьяснити алгаритм или пример в цифрах не могу что то понять. Добавлено через 52 минуты ап!
C++ Посчитать среднее арифметическое всех отрицательных значений функции
Посчитать значение функции y=(x+5)*(4*x)/(x+1)*(x+4) на промежутке с шагом h=0.7. Результат вывести в виде пар х и у. Если искомых данных нет, вывести сообщение об этом. Посчитать среднее арифметическое всех отрицательных значений функции. Вот мой код: #include <iostream> #include <conio.h> #include <math.h> using namespace std; void main() { float y,x,h=0.7,e=2.71,max,min;
C++ направьте на путь истинный) перевод систем счисления http://www.cyberforum.ru/cpp-beginners/thread960138.html
прошу помощи. как реализовать перевод из 10 сис.счисления в любую другую(по моему примеру)?вроде бы все должно идти верно.. в кнопке пишу: void __fastcall TForm1::Button1Click(TObject *Sender) { int а=31; //число int i=0; int b; //получаемый массив цифр int osn=2; //основание системе счисления int ch; //частное при делении числа на основание
C++ Заполнение списка Разъясните, пожалуйста, задание. Не пойму что подразумевается под "список может содержать от 0 до 20 значений (обязательно проверить на длине списка 0, 1. 2, 3, 4, 5, 7, 14)". Написать программу, которая заполняет list<int> 15 случайными значениями от 1 до 20, список может содержать от 0 до 20 значений (обязательно проверить на длине списка 0, 1. 2, 3, 4, 5, 7, 14) подробнее

Показать сообщение отдельно
Dendrit
1 / 1 / 0
Регистрация: 07.09.2013
Сообщений: 6
23.09.2013, 12:01     Удалить повторяющиеся элементы из двух векторов
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <set>
#include <vector>
 
    vector<you_type> v1,v2;
    set<you_type> s1,s2;
 
    for(vector<you_type>::iterator i=v1.begin();i<v1.end();++i)
        s1.insert(*i);
    for(vector<you_type>::iterator i=v2.begin();i<v2.end();++i)
        s1.insert(*i);
    for(vector<you_type>::iterator i=v1.begin();i<v1.end();++i)
    {
        if(s1.find(*i)!=s1.end()) s2.insert(*i);
        if(s2.find(*i)!=s1.end()) v1.erase(i);
    }
    for(vector<you_type>::iterator i=v2.begin();i<v2.end();++i)
    {
        if(s1.find(*i)!=s1.end()) s2.insert(*i);
        if(s2.find(*i)!=s1.end()) v2.erase(i);
    }
Все встреченные элементы добавляются в множество 1, потом мы пробегаем по векторам, когда встречаем эти элементы добавляем их в множество 2, если элемент уже есть в множестве 2, значит первое вхождение было и элемент удаляется.

Добавлено через 49 минут
Извините допустил 2 опечатки в 15 и 20;
if(s2.find(*i)!=s2.end()) v2.erase(i);
Так же, все это можно реализовать еще проще.
C++
1
2
3
4
5
6
7
8
    vector<you_type> v1,v2;
    set<you_type> s1;
    for(vector<you_type>::iterator i=v1.begin();i<v1.end();++i)
        if(s1.find(*i)!=s1.end()) {v1.erase(i);--i;}
        else s1.insert(*i);
    for(vector<you_type>::iterator i=v2.begin();i<v2.end();++i)
        if(s1.find(*i)!=s1.end()) {v2.erase(i);--i;}
        else s1.insert(*i);
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru