Форум программистов, компьютерный форум CyberForum.ru

Генератор случайных чисел - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
Tesdok
0 / 0 / 0
Регистрация: 21.05.2012
Сообщений: 5
27.05.2012, 00:46     Генератор случайных чисел #1
Здравствуйте, для программы мне требуется генератор, который будет задавать рандомно число, но данное число должно быть с определенными параметрами, а именно число должно быть 4-значным и цифры не должны повторятся (например 4352, 6723). Возможно ли это сделать? Если да, то подскажите как, заранее благодарю.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2012, 00:46     Генератор случайных чисел
Посмотрите здесь:

C++ Генератор случайных чисел
C++ Генератор случайных чисел
Генератор случайных чисел C++
Генератор случайных чисел C++
Генератор случайных чисел C++
C++ Генератор случайных чисел
Генератор случайных чисел C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
27.05.2012, 00:49     Генератор случайных чисел #2
Генерируешь очередное число и делаешь с ним необходимые проверки. Если число не подходит, повторяй операцию.
Dekio
Фрилансер
Эксперт C++
 Аватар для Dekio
5816 / 1214 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
27.05.2012, 12:51     Генератор случайных чисел #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream>
#include <random>
#include <ctime>
#include <set>
 
bool isUnique(int num)
{
    std::set <int> Set;
    while(num)
    {
        Set.insert(num % 10);
        num /= 10;
    }
    return Set.size() == 4 ? true : false;
}
 
int main()
{
    std::mt19937 gen(std::time(0));
    std::uniform_int_distribution <> distr (1000, 9999);
    int randnum;
    do
        randnum = distr(gen);
    while(!isUnique(randnum));
    std::cout<<randnum<<std::endl;
    return 0;
}
Yandex
Объявления
27.05.2012, 12:51     Генератор случайных чисел
Ответ Создать тему
Опции темы

Текущее время: 16:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru