Назад Зміст Вперед

Створення випадкових чисел

Вхідні дані у програму вводять з клавіатури за допомогою операторів cin. Якщо вхідних даних мало, це зробити не важко. Для перевірки програм, в яких багато вхідних даних використовують генератор псевдо випадкових чисел.

Для того, щоб згенерувати ціле число використовують функцію rand() з стандартної бібліотеки cstdlib.

Тому на початку програми цю бібліотеку потрібно підключити

#include <cstdlib>

Функція rand() генерує ціле число з інтервалу [0; RAND_MAX ]. RAND_MAX — це стала, з бібліотеки cstdlib. Для MVS RAND_MAX = 32767, но може бути і більше, в залежності від компілятору.

Змінній x присвоєне значення 41, змінній y присвоєне значення 18467, а стала RAND_MAX завжди має максимальне значення 32767.

Щоб отримати значення з діапазону [a, b] потрібно використовувати коефіцієнт масштабування:

x = a + rand() % (b - a + 1);

Наприклад, щоб отримати випадкове число з діапазону [-10, 10] напишемо такий оператор:
x = -10 + rand() % 21;

Функція rand() генерує ціле число тільки один раз. Скільки б раз ми не запускали програму будемо отримувати ті самі числа: x=10; y=-2;

Для того, щоб кожний раз отримувати різні числа використовують функцію srand(параметр). З різними натуральними параметрами ми будемо отримувати різні числа.

Якщо srand(1) отримаємо x=10; y=-2;

Якщо srand(2) отримаємо x=-7; y=-5;

Для того, щоб рандомізація була автоматичною, тобто щоб не змінювати кожного разу аргумент функції srand, можна в якості аргументу функції srand використовувати функцію time з параметром 0. Тобто: srand(time(0));

Щоб використовувати функцію time потрібно підключити стандартну бібліотеку ctime командою:

#include <ctime>

Кожного разу будемо отримувати різні значення x та y.

Назад Зміст Вперед