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

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

Войти
Регистрация
Восстановить пароль
 
NNN7
7 / 7 / 3
Регистрация: 05.09.2013
Сообщений: 502
#1

Какую функцию STL использовать для работы с множеством ? - C++

18.04.2014, 19:02. Просмотров 292. Ответов 7
Метки нет (Все метки)

Есть 2 множества : а и b

C++
1
2
3
4
5
6
7
8
9
10
  for( int i = 0; i < 5; i++) {
        a.insert(i);
    }
        copy(a.begin(),a.end(),ostream_iterator<int>(cout, " "));
 
    cout<<endl; 
  for( int i = 0; i < 5; i++) {
        b.insert(i+1);
    }
        copy(b.begin(),b.end(),ostream_iterator<int>(cout, " "));
а = 0, 1,2,3,4
b = 1,2,3,4,5

какую функцию STL нужно использовать , чтобы найти те элементы , которые отличают эти 2 множества ( то есть , результатом должно быть 0, 5) .

подскажите, пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2014, 19:02     Какую функцию STL использовать для работы с множеством ?
Посмотрите здесь:

Какую библиотеку лучше использовать для работы с файлами в с++? - C++
Какую библиотеку лучше использовать для работы с файлами в с++? stdlib\fstream?

Какую функцию ввода строки с клавиатуры использовать? - C++
Использую VS Express 2013. Очень начинающий. Столкнулся с проблемой - как ввести строку с клавиатуры. В самоучителе приведен...

Какую и как использовать функцию, чтобы float сделать int? - C++
Какую и как использовать функцию, чтобы float сделать int?

Какой контейнер в STL и для чего эффективнее использовать? - C++
Какой контейнер в STL и для чего эффективнее использовать? И почему

Упорядочить список по возрастанию (для решения задачи использовать STL) - C++
Во входном файле в первой строке три слова и число (13 12 65) в последующих тоже самое. Проверьте код, пожалуйста, выводит непонятные...

Какую ide лучше использовать для c++ - C++
какой ide лучше использовать для c++?

Задачу с использованием STL. Разработать шаблон класса для работы с односвязным списком - C++
Решить задачу с использованием STL. Разработать шаблон класса для работы с односвязным списком. Тип элементов задается как параметр...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Voivoid
674 / 277 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
18.04.2014, 19:14     Какую функцию STL использовать для работы с множеством ? #2
std::set_difference
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
18.04.2014, 19:16     Какую функцию STL использовать для работы с множеством ? #3
std::set_symmetric_difference
NNN7
7 / 7 / 3
Регистрация: 05.09.2013
Сообщений: 502
18.04.2014, 19:43  [ТС]     Какую функцию STL использовать для работы с множеством ? #4
почитал о ней , но смутно понял , как использовать :
C++
1
2
3
set <int> c;
set <int> dif;
c=std::set_difference (a,a+5,b,b+5,dif);
с алгоритмом не могу разобраться ; 1 и 3 параметр - это сами множества , а остальные ..?

Добавлено через 22 минуты
ещё вот так сделал :

C++
1
2
3
4
5
6
7
        set_difference(a.begin(), a.end(), b.begin(), b.end(),
 
  inserter(dif, dif.begin()));
 
        cout<<endl<<"differents:";
 
        copy(dif.begin(),dif.end(),ostream_iterator<int>(cout, " "));

но только одно число выводит : 0
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
19.04.2014, 00:56     Какую функцию STL использовать для работы с множеством ? #5
Цитата Сообщение от NNN7 Посмотреть сообщение
но только одно число выводит : 0
Цитата Сообщение от Jupiter Посмотреть сообщение
std::set_symmetric_difference
...
_Fenix_
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 18
19.04.2014, 01:12     Какую функцию STL использовать для работы с множеством ? #6
Извините за невнимательность .
Пробую так:

C++
1
set_symmetric_difference(a.begin(),a.end(),b.begin(),b.end(),back_inserter(diff));

ошибку выдаёт :
error C2039: 'push_back' : is not a member of 'std::set<_Kty>'
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
19.04.2014, 01:19     Какую функцию STL использовать для работы с множеством ? #7
Цитата Сообщение от _Fenix_ Посмотреть сообщение
back_inserter
back_inserter неприменим к std::set

Добавлено через 25 секунд

Не по теме:

Цитата Сообщение от _Fenix_ Посмотреть сообщение
Извините за невнимательность .
клон?

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2014, 01:40     Какую функцию STL использовать для работы с множеством ?
Еще ссылки по теме:

Составить функцию, определяющую, является ли ее целый аргумент простым числом. Использовать эту функцию для п - C++
Составить функцию, определяющую, является ли ее целый аргумент простым числом. Использовать эту функцию для подсчета количества простых...

Составить функцию, определяющую, является ли ее целый аргумент простым числом. Использовать эту функцию для п - C++
Составить функцию, определяющую, является ли ее целый аргумент простым числом. Использовать эту функцию для подсчета количества простых...

Простая графика для Пятнашек. Какую библиотеку лучше использовать ? - C++
Задача такая: нужно написать игру пятнашки с алгоритмом поиска А*. Я хочу реализовать ее в графическом режиме, ясно, что графика там...

Какую библиотеку нужно подключить для работы с динамическими массивами - C++
Подскажите, пожалуйста, какую библиотеку нужно подключить, чтобы это заработало: cli::array&lt;array&lt;int&gt;^&gt;^ Str = gcnew...

Использовать для работы с матрицами указатели и операции вида *p++, p++ - C++
Здравствуйте. снова обращаюсь к вам. Задание такое: Использовать для работы с матрицами указатели и операции вида *p++, p++ и т.д. Матрицы...


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

Или воспользуйтесь поиском по форуму:
_Fenix_
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 18
19.04.2014, 01:40     Какую функцию STL использовать для работы с множеством ? #8
просто тоже интересует эта тема

Добавлено через 1 минуту
А что же тогда вместо него нужно использовать ?

Добавлено через 5 минут
Сделал так:
C++
1
set_symmetric_difference(a.begin(),a.end(),b.begin(),b.end(),inserter(res,res.begin()));
Yandex
Объявления
19.04.2014, 01:40     Какую функцию STL использовать для работы с множеством ?
Ответ Создать тему
Опции темы

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