Генерация случайных чисел на C/C++ с помощью rand()
Приветствую всех, кто заскочил. В это короткой заметке будет пара слов о генерации псевдослучайных чисел на C/C++. В частности о том, как работать с самой простой функцией генерации — rand().
Функция rand()
Находится в стандартной библиотеке С++(stdlib.h). Генерирует и возвращает псевдослучайное число в диапазоне от 0 до RAND_MAX . Эта константа может отличаться в зависимости от компилятора или архитектуры процессора, в основном, это максимальное значение типа данных unsigned int . Параметров не принимает и никогда не принимала.
Для того, чтобы генерация свершилась, нужно выставить семя(seed) с помощью вспомогательной функции из той же библиотеки — srand() . Она принимает число и ставит его в качестве отправной точки в генерации случайного числа. Если семя не выставить, то при каждом запуске программы, мы будет получать одинаковые случайные числа. Самым очевидным решением является отправить туда текущее системное время. Сделать это можно с помощью функции time(NULL). Эта функция находится в библиотеке time.h .
С теорией разобрались, нашли все функции для генерации случайных чисел, теперь давайте погенерируем.
Пример использования функции генерации случайных чисел rand()
#include #include #include using namespace std; int main() < srand(time(NULL)); for(int i = 0; i < 10; i++) < cout return 0; >
Ранд нагенерировал нам 10 случайных чисел. В том, что они случайные вы можете убедиться, запуская программу вновь и вновь. Но этого недостаточно, поэтому нужно поговорить о диапазоне.
Выставить границы диапазона для rand()
Чтобы сгенерировать число в диапазоне от A до B включительно, нужно написать так:
A + rand() % ((B + 1) - A);
Значения границ могут быть в том числе и отрицательными, что позволяет генерировать отрицательное случайное число, посмотрим пример.
#include #include #include using namespace std; int main() < srand(time(NULL)); int A = -2; int B = 8; for(int i = 0; i < 100; i++) < cout return 0; >
Функция rand в C++: генерация случайных чисел
Привет! В этой статье речь пойдет о популярной функции в C++ для генерации случайных чисел — rand . Начнем мы с обзора этой функции и разберемся, как ее правильно использовать. Посмотрим как эта функция себя ведет на нескольких примерах, а закончим написанием своего простенького генератора случайных чисел.
Как сгенерировать случайное число в C++
Для генерации случайных чисел в C/C++ можно использовать функцию rand :
int rand (void);
- Эта функция не принимает никаких аргументов.
- Возвращает эта функция случайное число от нуля до RAND_MAX (зависит от компилятора. У меня RAND_MAX = 2147483647 ).
Давайте посмотрим на про