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

Функція srand () у C ++ породжує генератор псевдовипадкових чисел, що використовується функцією rand ().

Функція srand () у C ++ породжує генератор псевдовипадкових чисел, що використовується функцією rand (). За замовчуванням для початкової функції rand () встановлено 1.

Це означає, що якщо перед rand () не викликається жоден srand (), функція rand () поводиться так, ніби вона засіяна srand (1).

прототип srand ()

 void srand (без назви int насіння);

Функція 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; )

Коли ви запускаєте програму, результат буде:

 Насіння = 1485583981 Випадкове число = 22589

Цікаві статті...