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

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

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

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

18.04.2014, 19:02. Просмотров 278. Ответов 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 использовать для работы с множеством ?
Посмотрите здесь:

Какую и как использовать функцию, чтобы float сделать int? C++
C++ Использовать для работы с матрицами указатели и операции вида *p++, p++
C++ Какую библиотеку нужно подключить для работы с динамическими массивами
Задачу с использованием STL. Разработать шаблон класса для работы с односвязным списком C++
Простая графика для Пятнашек. Какую библиотеку лучше использовать ? C++
Какую библиотеку лучше использовать для работы с файлами в с++? C++
Какую ide лучше использовать для c++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Voivoid
672 / 275 / 12
Регистрация: 31.03.2013
Сообщений: 1,338
18.04.2014, 19:14     Какую функцию STL использовать для работы с множеством ? #2
std::set_difference
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 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
Каратель
Эксперт C++
6549 / 3969 / 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
Каратель
Эксперт C++
6549 / 3969 / 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++ Какой контейнер в STL и для чего эффективнее использовать?
Какую функцию ввода строки с клавиатуры использовать? C++
C++ Составить функцию, определяющую, является ли ее целый аргумент простым числом. Использовать эту функцию для п
Составить функцию, определяющую, является ли ее целый аргумент простым числом. Использовать эту функцию для п C++
Упорядочить список по возрастанию (для решения задачи использовать STL) C++

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

Или воспользуйтесь поиском по форуму:
_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 использовать для работы с множеством ?
Ответ Создать тему
Опции темы

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