Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > множества


Автор: ana19m 20.6.2006, 16:07
На форуме ранее писалось, что в С++ нет такой операции, как в Паскале in. Можно ли как нибудь проверить, включен элемент во множество или нет? Помогите, пожалуйста 

Автор: Rockie 20.6.2006, 18:10
попробуйте посмотреть здесь
http://base.soobcha.org/index/coding.c/1294/
удачи! 

Автор: Void 20.6.2006, 18:29
Исползуй std::set:
Код
#include <set>

int main() {
    std::set<int> s;
    s.insert(1);
    s.insert(2);
    if (s.find(2) != s.end()) // эквивалентно if 2 in s then ...
    {
        /* ... */
    }
}

Можно написать специальную функцию:
Код
template <typename T, typename Comparer, typename Allocator>
bool in(const std::set<T, Comparer, Allocator> &set, const T &element) {
    return set.find(element) != set.end();
}
 

Автор: ana19m 21.6.2006, 12:23
Спасибо всем! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)