Отображение в cout уникальных рандомных чисел

196
23 сентября 2018, 05:20

Пробовал отсеивать через if, но не получилось. Поможете реализовать?

#include <iostream>
#include <iomanip>
#include <ctime>

using namespace std;
int main()
{
tryAgain:
    srand(time(NULL));
    setlocale(LC_ALL, "ru");
    bool alreadyThere;
    int randNumber, quantity, selection;
    int fourNull = 0000;

    cout << "Выберите тип генерации" << endl
        << "1.Упорядоченный" << endl
        << "2.Рандомный" << endl;
    cin >> selection;
    switch (selection)
    {
    case 1:
        cout << "Выберите количество генерируемых номеров" << endl;
        cin >> quantity;
        alreadyThere = false;
        while (fourNull <= quantity)
        {
            fourNull++;
            cout << "+7910000" << setw(4) << setfill('0') << fourNull << "\t\t";
        }
        goto tryAgain;
        break;
    case 2:
        cout << "Выберите количество генерируемых номеров" << endl;
        cin >> quantity;
        for (int i = 0; i <= quantity; i++)
        {

            randNumber = rand() %9999 + fourNull;
            cout << "+7910000" << setw(4) << setfill('0') << randNumber << "\t\t";

        }
        goto tryAgain;
        break;
    default:
        goto tryAgain;
        break;
    }
    system("pause");
    return 0;
}
Answer 1
void unique_random_numbers(int min, int max, int amt)
{
    std::map<int, int> m;
    int  r{}, count{}, range = max - min + 1;
    while (count < amt) {
        r = min + rand()% range;
        //или пользуйтесь  генераторами случайных чисел из <random>
        m[r]++;            
        if(m[r] == 1) {
            ++count;
            cout << r <<endl;
        }
    }
}

Вызовите функцию с аргументами:

  1. Минимальное значение чисел
  2. Максимальное значение чисел
  3. Количество уникальных чисел, которые хотите выводить
READ ALSO
Реализация факториала через класс [закрыт]

Реализация факториала через класс [закрыт]

Не понимаю, почему не работает - выдает ошибку

179
Code::Blocks подсветка кода в defined

Code::Blocks подсветка кода в defined

По отзывам некоторых жителей этого ресурса, установил посмотреть Code::Block

180
Ошибка &ldquo;&#39;recursive_mutex&#39; in namespace &#39;std&#39; does not name a type&rdquo; в C++

Ошибка “'recursive_mutex' in namespace 'std' does not name a type” в C++

Взято из кода движка OGRE3d, компилятор выдает ошибку:

188