Как вы наверное уже знаете, для получения случайного числа в С++ предусмотрена функция rand(), но она возвращает не совсем «случайные» числа…
Для использования функции rand() необходимо подключить библиотеку stdlib:
#include <cstdlib>
Попробуйте откомпилировать программу:
#include <iostream> #include <cstdlib> using namespace std; int main() { cout << rand()%100 << endl; return 0; }
По идее она должна возвращать случайные числа, но при многократном запуске будет выведено одно и тоже число.
Для устранения этой проблемы можно воспользоваться функцией srand(). Она устанавливает исходное число для последовательности, генерируемой функцией rand().
Вот пример использования srand:
#include <iostream> #include <cstdlib> using namespace std; int main() { srand(time(0)); cout << rand()%100 << endl; return 0; }
В качестве параметра srand в нашем примере получает время прошедшее с начала эпохи Unix — time(0). Таким образом генерируются действительно различные — случайные числа.