как вывести числа set c++?

315
29 июня 2018, 06:40
#include <bits/stdc++.h>
using namespace std;
int main()
{
    set <int> s;        
    int n, k, m, size;
    cin >> size >> n;
    int arr[size];
    for(int i = 0; i < size; i++){
        cin >> arr[i];
    }
    for(int i = 0; i < size; i++){
        s.insert(arr[i]);
 }
    for(int i = 0; i < s.size(); i++){
        cout << s.begin();
        s.pop();
    }
}

где у меня ошибка?

Answer 1

А в чём тут проблема ?

1 ый способ:

for (std::set<int>::iterator it = s.begin(); it != s.end(); ++it)
{
    std::cout << *it << ' ';
}

2 ой способ (как уже отметили в комментариях):

for (const auto& el: s)
{
    std::cout << el << ' ';
}

А ошибка у вас в другом месте, а именно:

int n, k, m, size;
cin >> size >> n;
int arr[size]; // Здесь

Размер массива созданного на стеке должен иметь константный тип и быть известен во время компиляции, тоесть либо замените int arr[] на std::vector<int> arr(size); либо сделайте size const таким образом:

const int size = ...;
int arr[size];
...
READ ALSO
многопоточность с++

многопоточность с++

Написать многопоточный поиск, реализован алгоритм Флойда - УоршалаДаны два потока, в которых задаются графы

206
Как установить WDK

Как установить WDK

Что я делаю не так, почему VS2017 не видет WDK10?

193
Как добавить сортировку по имени файла?

Как добавить сортировку по имени файла?

Программа выводит список файлов и папок из заданной директорииКак реализовать сортировку по алфавиту? При выводе списка

208
Не работает emit Qt

Не работает emit Qt

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

231