#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();
Комментариев нет:
Отправить комментарий