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

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

Войти
Регистрация
Восстановить пароль
 
Rostislav1
0 / 0 / 0
Регистрация: 04.05.2013
Сообщений: 7
#1

Одинаковые элементы в set - C++

10.05.2013, 12:08. Просмотров 742. Ответов 10
Метки нет (Все метки)

Можно ли каким-то образом добавить в set одинаковые элементы?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12525 / 7087 / 797
Регистрация: 27.09.2012
Сообщений: 17,495
Записей в блоге: 2
Завершенные тесты: 1
10.05.2013, 12:11     Одинаковые элементы в set #2
Цитата Сообщение от Rostislav1 Посмотреть сообщение
Можно ли каким-то образом добавить в set одинаковые элементы?
нет. Для хранения одинаковых используйте multiset
http://www.cplusplus.com/reference/set/multiset/
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
10.05.2013, 12:14     Одинаковые элементы в set #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <algorithm>
#include <iostream>
#include <iterator>
#include <set>
 
int main()
{
    int array[] = {15, 15, 15, 17, 17, 17};
    std::multiset <int> set (array, array + 6);
 
    std::cout << "The set: { ";
    std::copy(set.begin(), set.end(), std::ostream_iterator <int> (std::cout, " "));
    std::cout << "}" << std::endl;
 
    return 0;
}
Rostislav1
0 / 0 / 0
Регистрация: 04.05.2013
Сообщений: 7
10.05.2013, 12:16  [ТС]     Одинаковые элементы в set #4
А если мне нужно удалить максимальный элемент(я делаю это таким образом
C++
1
s.erase(*s.rbegin());
), то если существуют несколько одинаковых максимальных элементов, то удалятся все сразу?
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
10.05.2013, 12:17     Одинаковые элементы в set #5
да, все
Rostislav1
0 / 0 / 0
Регистрация: 04.05.2013
Сообщений: 7
10.05.2013, 12:18  [ТС]     Одинаковые элементы в set #6
А как сделать, что бы не все удалялись, а по одному?
DiffEreD
 Аватар для DiffEreD
1425 / 762 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
10.05.2013, 12:47     Одинаковые элементы в set #7
C++
1
set.erase(set.find(15));
Rostislav1
0 / 0 / 0
Регистрация: 04.05.2013
Сообщений: 7
10.05.2013, 12:51  [ТС]     Одинаковые элементы в set #8
Цитата Сообщение от yuron_477 Посмотреть сообщение
C++
1
set.erase(set.find(15));
Большое спасибо - получилось.
isaak
101 / 38 / 9
Регистрация: 17.10.2010
Сообщений: 647
10.05.2013, 13:43     Одинаковые элементы в set #9
А как сделать, чтобы удалялись повторяющиеся элементы????
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12525 / 7087 / 797
Регистрация: 27.09.2012
Сообщений: 17,495
Записей в блоге: 2
Завершенные тесты: 1
10.05.2013, 13:51     Одинаковые элементы в set #10
http://www.cplusplus.com/reference/set/multiset/erase/
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2013, 14:09     Одинаковые элементы в set
Еще ссылки по теме:

C++ Одинаковые элементы массива
Подсчитать одинаковые элементы C++
нужно разместить элементы таким образом, чтобы одинаковые элементы располагались на определенном расстоянии C++
C++ Найти одинаковые элементы в массиве
C++ Не удаляются одинаковые элементы списка

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

Или воспользуйтесь поиском по форуму:
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
10.05.2013, 14:09     Одинаковые элементы в set #11
И сюда:
http://www.cplusplus.com/reference/s...t/equal_range/
Yandex
Объявления
10.05.2013, 14:09     Одинаковые элементы в set
Ответ Создать тему
Опции темы

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