Z powtórzeniami: rozwiązanie @mrcnsct jest dobre
Bez powtórzeń:
#include <iostream>
#include <vector>
#include <algorithm>
int main () {
std::vector<int> r_set = {3, 4, 8, 0, 33, 5, 1};
std::random_device random_device;
std::mt19937 random_generator(random_device());
std::shuffle(r_set.begin(), r_set.end(), random_generator);
for (auto &&v : r_set)
std::cout << v << ' ';
}