Страницы

Поиск по вопросам

воскресенье, 26 января 2020 г.

Случайные числа в C++

#cpp


Помогите создать программу, чтобы при нажатии на определенную кнопку, он выдавал
числа по рандому, с нажатием кнопки я разобрался, вот выложил код, а как сделать чтобы
он не прибавлял +5, а просто каждый раз выдавал разные цифры. Я прочитал статьи про
рандом в интернете, но не понял к сожалению, там не на доступном языке и непонятно.
#include 
#include 

using namespace std;

int main ()
{
    int b=0; char c;

    while ((c=getch()) !='q')
    {
        if (c=='a') {
            b+=5;

            cout << b << endl;
        }
    }

    system ("pause");
    return EXIT_SUCCESS;
}
    


Ответы

Ответ 1



В C++11 есть классы для генерации случайных чисел: #include #include std::default_random_engine rng; int my_random(int a, int b) { std::uniform_int_distribution dist_a_b(a, b); return dist_a_b(rng); } int main() { rng.seed(std::random_device()()); std::cout << my_random(0, 42); } uniform_int_distribution

Ответ 2



Еще добавлю, что, так как вывод этого числа заключен в цикл, можно использовать случайное число относительно текущего времени. Это делается примерно так: подключаем библиотеки #include и #include затем генерируем случайное число, предварительно создав переменную текущего момента времени t: time_t t; srand((unsigned) time(&t)); int random = rand()%MAX; Вот недавно проверил, полностью рабочий код: #include #include #include using namespace std; void main(){ int MAX = 10; time_t t; srand((unsigned) time(&t)); int random = rand()%MAX; cout< #include #include using namespace std; void main(){ int MAX = 10; int i=0; srand((unsigned) time(NULL)); while(i!=10){ int random = rand()%MAX; cout<

Ответ 3



Как получать в С++ случайные числа. Пример. #include #include srand (time (NULL)); int rand_num = rand();

Комментариев нет:

Отправить комментарий