Генератор случайных чисел
Генератор случайных чисел
Генератор случайных чисел
Генератор случайных чисел
Генератор случайных чисел
Генератор случайных чисел
Генератор случайных чисел
Функция time();
Генератор случайных чисел
Задача
Задача
Задача
Задача
51.50K
Category: programmingprogramming

Генератор случайных чисел

1. Генератор случайных чисел

2. Генератор случайных чисел

• В языке С существует возможность
генерировать ПСЕВДОслучайное число.
• Для этой операции используется функция
под названием rand().

3. Генератор случайных чисел

• На место вызова rand() в программе,
подставится случайное число в диапазоне
от 0 до 32767.

4. Генератор случайных чисел

Подключите библиотеку:
#include<stdlib.h>
int a;
a = rand();
cout << a << "\n";
a = rand();
cout<<a<<"\n";

5. Генератор случайных чисел

• Для того, чтобы rand() при разных вызовах
программы выдавал разные числа
необходимо изменить начальную точку
генерации.

6. Генератор случайных чисел

• Функция srand устанавливает начальную
точку для генерации случайных чисел и
обладает следующим синтаксисом:
• void srand(unsigned int start);

7. Генератор случайных чисел

Пример:
srand(5);
int a;
a=rand();
cout<<a<<"\n";

8. Функция time();

• Функция time(NULL) возвращает количество секунд прошедших с
0 часов, 1 января 1970 года.
• Для использования функции time(NULL) необходимо подключить
библиотеку time.h или ctime

9. Генератор случайных чисел

srand(time(NULL));
• Теперь, функция srand, используя функцию
time(NULL), устанавливает в качестве стартовой точки
число, представляющее собой количество, секунд
прошедших с 1 января 1970 года.

10. Задача

Сгенерировать случайное число в
диапазоне от 0 до 10 (включительно);
Подсказка: использовать целочисленное
деление (деление по модулю).
Ответ: rand() % 11

11. Задача

Сгенерировать случайное число в
диапазоне от 10 до 20 (включительно);
Подсказка: для сдвига чисел влево и
вправо, на числовой прямой, используйте
«+» и «-», соответственно.
Ответ: rand() % 11 + 10

12. Задача

Сгенерировать числа от -10 до 20
(включительно);
Подсказка: для изменения диапазона –
делите по модулю на число определяющее
целевой диапазон чисел... Для сдвига
диапазона используйте «+» и «–»
Ответ: rand() % 31 - 10

13. Задача

Сгенерировать числа от -10 до 20, с двумя
знаками после запятой (включительно);
Подсказка: необходимо делить на 100 и
использовать тип float;
Ответ: rand() % 3100/(float)100 - 10
English     Русский Rules