0 / 0 / 0
Регистрация: 08.12.2018
Сообщений: 4
1

Реализовать программу с использованием контейнеров set / multiset

15.12.2020, 13:59. Показов 414. Ответов 0

Author24 — интернет-сервис помощи студентам
Есть список игрушек, некоторые из которых в n детских садах. Выяснить, игрушек нет ни в одном из садов; которые есть в каждом из детсадов; нашлись хотя бы в одном детском саду

сделал с использованием контейнера vector:
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#include <iostream>
#include <vector>
#include <string>
using namespace std;
 
int main()
{
   
    struct house
    {
        unsigned id;
        vector<unsigned> toylist;
    };
 
   
    struct toy
    {
        unsigned id;
        string name;
    };
 
   
    vector<house> houses;
    vector<toy> toys;
    toy c_toy;
    house c_house;
    vector<unsigned> t_list;
 
  
    char ch = 'y';
    unsigned toy_id = 1;
    string toy_name;
    do
    {
        cout << toy_id << " toy: ";
        getline(cin, toy_name);
        c_toy.id = toy_id;
        c_toy.name = toy_name;
        toys.push_back(c_toy);
        cout << "Add one more toy? (y/n): ";
        cin >> ch;
        cin.ignore();
        if ((ch == 'y') || (ch == 'Y'))
            toy_id++;
    } while ((ch == 'y') || (ch == 'Y'));
 
   
    for (unsigned i = 0; i < toys.size(); ++i)
    {
        cout << "Toy " << toys[i].id << " - " << toys[i].name << endl;
    }
 
    
    unsigned house_id = 1;
    unsigned toy_num;
    do
    {
        cout << house_id << "kindergarten. Add number of toy: " << endl;
       
        do
        {
            cin >> toy_num;
            t_list.push_back(toy_num);
            cout << "add more? (y/n): ";
            cin >> ch;
            cin.ignore();
        } while ((ch == 'y') || (ch == 'Y'));
 
        c_house.id = house_id;
        c_house.toylist = t_list;
        t_list.clear();
        houses.push_back(c_house);
        cout << "add more kindergarten? (y/n): ";
        cin >> ch;
        if ((ch == 'y') || (ch == 'Y')) house_id++;
    } while ((ch == 'y') || (ch == 'Y'));
 
    
    for (unsigned i = 0; i < houses.size(); ++i)
    {
        cout << "kindergarten √" << houses[i].id << " - Toys: ";
        for (unsigned j = 0; j < houses[i].toylist.size(); ++j)
            cout << houses[i].toylist[j] << " ";
        cout << endl;
    }
 
   
    unsigned t;
    bool founded = false;
    vector<unsigned> t1, t2;
    for (unsigned i = 0; i < toys.size(); i++)
    {
        t = toys[i].id;
        for (unsigned j = 0; j < houses.size(); j++)
        {
            for (unsigned k = 0; k < houses[j].toylist.size(); k++)
            {
                if (t == houses[j].toylist[k])
                    founded = true;
            }
            if (founded) t1.push_back(t);
            founded = false;
        }
        unsigned h = houses.size();
        if (t1.size() == h)
            t2.push_back(t);
        t1.clear();
    }
    cout << "Toys that are in all kindergartens:" << endl;
    for (unsigned i = 0; i < t2.size(); ++i)
        for (unsigned j = 0; j < toys.size(); ++j)
            if (t2[i] == toys[j].id)
                cout << t2[i] << " (" << toys[j].name << "), ";
    cout << endl;
 
 
 
    
    t1.clear();
    t2.clear();
    founded = false;
    for (unsigned i = 0; i < toys.size(); i++)
    {
        t = toys[i].id;
        for (unsigned j = 0; j < houses.size(); j++)
        {
            for (unsigned k = 0; k < houses[j].toylist.size(); k++)
            {
                if (t == houses[j].toylist[k])
                    founded = true;
            }
            if (!founded) t1.push_back(t);
            founded = false;
        }
        unsigned h = houses.size();
        if (t1.size() == h)
            t2.push_back(t);
        t1.clear();
    }
    cout << "Toys that are not in any kindergarten:" << endl;
    for (unsigned i = 0; i < t2.size(); ++i)
        for (unsigned j = 0; j < toys.size(); ++j)
            if (t2[i] == toys[j].id)
                cout << t2[i] << " (" << toys[j].name << "), ";
    cout << endl;
 
    return 0;
}
помогите реализовать с set / multiset
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2020, 13:59
Ответы с готовыми решениями:

Множества <set> и <multiset>
ВОт такая пролемма(я вставил лишь фрагмент кода), запуская через консоль и вижу ошибку Debug...

Контейнеры set и multiset
1. Для каждого из четырех классов указаны имена девочек, обучающихся в них. Определить, какие из...

Разработать программу с использованием двух последовательных контейнеров STL и трех методов
Разработать программу на языке С++ с использованием двух последовательных контейнеров STL и трех...

Найти с помощью Set и Multiset все такие цифры, которые не встречаются в двузначных числах
Найти все такие цифры, которые не встречаются в двузначных числах. #include &lt;iostream&gt; #include...

0
15.12.2020, 13:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2020, 13:59
Помогаю со студенческими работами здесь

Напечатать в алфавитном порядке все гласные буквы, которые не входят ни в одно слово (set/multiset)
Дано текст. Напечатать в алфавитном порядке все гласные буквы, которые не входят ни в какое слово;...

Детектировать, является ли контейнером set или является multiset
здравствуйте, вот есть детектирование является ли контейнер map или multimap: template&lt;...

Реализовать контейнер multiset к классу
Здравствуйте у меня есть класс и мне надо реализовать контейнер multiset к этому классу. Проблема в...

Как реализовать вывод в файл из контейнера multiset (STL)
Здравствуйте, не могу реализовать вывод в файл из контейнера std::multiset, дело в том, чтобы...

Разработка программы с использованием контейнеров-массивов
Люди помогите написать программу!? Очень надо!!!! Разработать программу формирования и распечатки...

Обработка массивов структур с использованием контейнеров
Вариант 13 Написать программу, которая содержит текущую информацию о книгах в библиотеке....


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru