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

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

Войти
Регистрация
Восстановить пароль
 
kaznachey1993
-66 / 3 / 0
Регистрация: 24.11.2011
Сообщений: 97
#1

Структура SET - C++

08.10.2012, 09:51. Просмотров 609. Ответов 1
Метки нет (Все метки)

Напишите программу, которая будет выполнять последовательность запросов вида ADD num, PRESENT num и COUNT (без параметра). Программу обязательно следует писать с использованием шаблонного типа set.

Выполнение каждого запроса вида ADD num должно добавлять элемент num во множество (если такой элемент уже есть, добавление ещё одной копии не изменяет множество), на экран при этом ничего не выводится.

При выполнении каждого запроса вида PRESENT num должно выдаваться сообщение «YES» или «NO» (большими буквами, в отдельной строке), соответственно тому, есть ли такой элемент во множестве; значение множества при этом не изменяется.

При выполнении каждого запроса вида COUNT должна выдаваться на экран в отдельной строке текущее количество различных элементов в множестве; значение множества при этом не изменяется.

Входные данные
В первой строке стандартного входного потока задано количество запросов N (1 < N < 100000), далее следуют N строк, каждая из которых содержит по одному запросу согласно описанного формата.

Значения чисел не превышают по модулю 100000000.

Выходные данные
Выводите на стандартный выход (экран) в отдельных строках результаты запросов PRESENT и COUNT; на запросы ADD ничего выводить не надо.

Добавлено через 27 минут
UP UP UP UP UP UP UP
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2012, 09:51     Структура SET
Посмотрите здесь:

Шаблон set и структура - как вместе? - C++
Что-то торможу. typedef set&lt;Node&gt; NodeSet; struct Node{ NodeSet input; NodeSet output; }Как это сделать? Ставлю перед...

Шаблон set - C++
#include &lt;iostream&gt; using namespace std; template &lt;class Data&gt; class Set{ class Node{ public: ...

Контейнер set - C++
Два множества, элементами которого являются строчные буквы латинского алфавита, представлены с помощью стандартного типа SET. В программе...

Set, скорость - C++
Доброго времени суток. Получил задачу написать set, не просто set, а быстрый основанный на бинарном дереве поиска set. Вот что...

Метод Set - C++
Привет. Такая проблемка. Ну даже не проблемка, а так :) Есть класс, есть конструктор, принимающий в кач-ве параметра char*, есть...

контейнер set - C++
Создать контейнер set, ввести в него 3 числа. Создать метод по вычислении наибольшего из этих чисел помогите, пожалуйста, с заданием или...

List и Set - C++
В общем у нас есть отрезок от 1 до X. Отсортировать этот отрезок, вида: (1,х,2,х-1,...). Заполнить этой последовательностью list и set. И...

Контейнер set - C++
Есть текст на агл. языке. Используя контейнер set нужно упорядочить слова этого текста в алфавитном порядке. Вот то, что я сделал: ...

класс SET - C++
Разработать шаблонный класс Set. Класс должен содержать конструктор по умолчанию, основной конструктор и конструктор копирования....

Использование set - C++
Приветствую. Что-то я совсем глупый вопрос задам, но понять, где тут ошибка никак не могу: #include &lt;iostream&gt; #include...

Set из STL - C++
Доброго времени суток, ребята. Прошу помощи со словарём. Вот само задание: Написать программу «Англо - русский и русско - английский...

Set <int> - C++
Доброе время суток, помогите оптимизировать данный код set &lt; int &gt; temp; temp.insert(1); temp.insert(2); temp.insert(3); ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
08.10.2012, 10:17     Структура SET #2
Можно вот так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream> 
#include <set> 
 
int main() 
{   
    std::set<int> myset; 
    std::set<int> ::iterator it;
    int N;  
    int n; 
    int number;
    std::cout << "Inter N " << std::endl; 
    std::cin >> N; 
    if( N < 1 || N > 10000)  
    {
        std::cout << "Incorect input " << std::endl;  
        exit(1); 
    } 
 
    while( N!=0) 
    { 
        std::cout << "1) ADD " << std::endl; 
        std::cout << "2) Present " << std::endl; 
        std::cout << "3) Count " << std::endl; 
        std::cout << "Inter a variant " << std::endl; 
        std::cin >> n; 
        switch(n) 
        { 
        case 1: std::cout << "Inter a number " << std::endl; 
                std::cin >> number; 
                myset.insert(number); break; 
        case 2:std::cout << "Inter a number " << std::endl; 
               std::cin >> number; 
              it = myset.find(number); 
              if(it == myset.end()) 
                  std::cout << "NO " << std::endl; 
              else 
                  std::cout << "YES " << std::endl; break; 
        case 3: std::cout << "COUNT " << myset.size() << std::endl; break; 
        default:std::cout << "Uncorrect variant " << std::endl; break; 
        }  
        N--;
    }
        
        
}
Ответ Создать тему
Опции темы

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