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

Вывод элементов множества на экран

26.01.2011, 17:18. Показов 34396. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Столкнулся с такой проблемой, объявил и заполнил множество элементами, но не знаю как выводятся на экран элементы множества:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<set>
#include<iostream.h>
 
main(){
set <int> s;
int i=0,k;
    while(i<15){
        k=rand()%15;
        
        set <int>:: iterator ik=s.find(k);
        if(ik==s.end()){
            s.insert(k);
            i++;
        }
    }
Генерируется случайное число, потом идет проверка есть ли оно в множестве, в общем оно заполняется, помогите пожалуйста с выводом, заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.01.2011, 17:18
Ответы с готовыми решениями:

Вывод элементов множества, добавление элементов множества, удаление элементов множества
Надо на завтра сделать задачку на си, а я ни бум-бум, не выходит ничего. надо реализовать такие...

Вывод на экран множества
Написал код, всё готово, а вот как вывести ответ на экран не знаю =( нужно множество m2 вывести...

Вывод множества из файла на экран
В студенческой группе 30 человек. 15 из них знают английский, 10 знают немецкий, 7 знают...

Вывод элементов множества
Подскажите, пожалуйста, как вывести элементы множества на экран?

4
2848 / 1997 / 986
Регистрация: 21.12.2010
Сообщений: 3,705
Записей в блоге: 10
26.01.2011, 17:42 2
в множестве элементы и так уникальны
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<set>
#include<iostream>
#include<cstdlib>
using namespace std;
 
int main(){
    set<int> s;
    set<int>::iterator ik;
    int k;
    for(int i=0; i<15; i++){
        k=rand()%15;
        //ik=s.find(k);
        //if(ik==s.end())
        s.insert(k);
    }
    for(ik=s.begin(); ik!=s.end(); ++ik)
        cout<<*ik<<"  ";
}
2
0 / 0 / 0
Регистрация: 21.12.2010
Сообщений: 85
26.01.2011, 18:04  [ТС] 3
Я понимаю что элементы уникальны, поэтому и идет проверка при добавлении, в общем большое спасибо за помощь!!!Очень признателен.
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
26.01.2011, 18:12 4
Цитата Сообщение от ~GiPeRPrOgEr~ Посмотреть сообщение
поэтому и идет проверка при добавлении
Она идёт в самом контейнере, ваша проверка лишняя.
C++
1
2
3
std::set<int> s;
while(s.size() < 15)
    s.insert( rand()%30 );
0
3 / 2 / 1
Регистрация: 24.04.2019
Сообщений: 34
04.06.2019, 20:03 5
ВОт такая пролемма(я вставил лишь фрагмент кода), запуская через консоль и вижу ошибку
Debug Assertion Failed!
Program: < program name unknown>
File: c:\program files (x86)\microsoft visual
studio\2017\community\vc\tools\msvc\14.15.26726\include\xtree
Line: 222
Expression: cannot dereference end map/set iterator
For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.
(Press Retry to debug the application)
что не так в коде? здесь : у меня есть 2 файла, я считаю количество слов в 1ом, и проверяю их наличие во втором(там файл с предлогами), если нахожу ,то уменьшаю количчество слов
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
    setlocale(0, "");
    if (par == 4)
    {
        char path[256];
        sprintf_s(path, 256, "%s", par2[1]);
        char alignment[10];
        sprintf_s(alignment, 10, "%s", par2[2]);
        ifstream fin(path);
        char symbol, word[1000][30];
        multiset<char*> ar_pr;
        //char ar_pr[1000][15]; 
        int kol_ar = 0;
        char slovo[30];
        ifstream qqq("D:\\22.txt");
        int kol_sym = 0, kol_word = 0, full_kol_word = 0, kol_str = 0, kol_enter = 0, jjj;
        //string s[1000];
        vector<string> s(1000);
        while (!fin.eof())
        {
            getline(fin, s[kol_str]);
            jjj = 0;
            for (unsigned int j = 0; j < s[kol_str].size(); j++)
                if (s[kol_str][j] == ' ' || s[kol_str][j] == '\t') jjj++;
            if (jjj - s[kol_str].size() == 0) kol_enter++;
            kol_str++;
        }
        fin.seekg(0, ios::beg);
        fin.clear();
        bool apps=false;
        while (!fin.eof())
        {
            fin >> word[full_kol_word];
            while (!qqq.eof())
            {
                qqq >> slovo;
                apps = *ar_pr.find(slovo);
                kol_ar++;
                if (apps==true)
                {
                    kol_word--;
                    break;
                    apps = false;
                }
            }
            full_kol_word++;
            kol_word++;
        }
0
04.06.2019, 20:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2019, 20:03
Помогаю со студенческими работами здесь

Вывод элементов из множества
Имеется текстовый файл с 30 фамилиями. Как вывести на экран только 20?

Последовательный вывод элементов множества
Решил написать на паскале такую программу, которая последовательно выводит заглавные буквы русского...

Вывести на экран мощность и значения элементов множества Y1Y2
Сформировать три множества X1, X2, X3, содержащие целые числа из диапазона 1…100. Мощность каждого...

Вывод элементов множества без фигурных скобок
Привет всем! :) При решении одной задачи возник вопрос - а как, собственно, вывести элементы...


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

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

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