C ++ srand () - C ++ стандартна библиотека

Функцията srand () в C ++ засява генератора на псевдо случайни числа, използван от функцията rand ().

Функцията srand () в C ++ засява генератора на псевдо случайни числа, използван от функцията rand (). По подразбиране семената за rand () е 1.

Това означава, че ако не е извикан srand () преди rand (), функцията rand () се държи така, сякаш е поставена с srand (1).

srand () прототип

 void srand (неподписан int seed);

Функцията srand () приема за свой параметър цяло число без знак, което се използва като начално от функцията rand ().

Той се определя в заглавния файл.

srand () Параметри

  • seed: Семейна стойност от тип unsigned int

srand () Върната стойност

  • Нито един

Функцията srand () не връща никаква стойност.

Пример 1: Как работи функцията srand ()?

 #include #include using namespace std; int main() ( int random = rand(); /* No srand() calls before rand(), so seed = 1*/ cout << "Seed = 1, Random number = " << random << endl; srand(5); /* Seed = 5 */ random = rand(); cout << "Seed = 5, Random number = " << random << endl; return 0; )

Когато стартирате програмата, изходът ще бъде:

 Семе = 1, Случайно число = 41 Семе = 5, Случайно число = 54

Добра практика е да поставяте генератора на псевдо случайни числа само веднъж в началото на програмата и преди всякакви извиквания на rand (). Не трябва да се засява всеки път, когато трябва да генерираме нов набор от числа.

Стандартната практика е да се използва резултатът от призив към време (0) като начален елемент. Функцията time () връща броя секунди от 00:00 часа, 1 януари 1970 г. UTC (т.е. текущата Unix времева марка). Стойността на семената се променя с времето. Така всеки път, когато стартираме програмата, се генерира нов набор от произволни числа.

Пример 2: srand () функция с време ()

 #include #include #include using namespace std; int main() ( srand(time(0)); int random = rand(); cout << "Seed = " << time(0) << endl; cout << "Random number = " << random << endl; return 0; )

Когато стартирате програмата, изходът ще бъде:

 Seed = 1485583981 Случайно число = 22589

Интересни статии...