Генерация случайных чисел в заданном диапазоне (с помощью функции rand)

Функция rand() возвращает случайное целое число в диапазоне от 0 до RAND_MAX, который является константой, определенной в заголовочном файле stdlib.h. RAND_MAX может варьироваться в зависимости от операционной системы, но обычно оно равно 32767.

Чтобы ограничить диапазон случайных чисел, можно использовать операцию остатка (%). Например, чтобы получить случайное число в диапазоне от 0 до 9, можно использовать следующий код:


int num = rand() % 10;

Если нужно получить случайное число в диапазоне от min до max, можно воспользоваться следующей формулой:


int num = min + rand() % (max - min + 1);

Например, чтобы получить случайное число в диапазоне от 5 до 10, можно использовать следующий код:


int num = 5 + rand() % 6;

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


srand(42); // установка начального значения генератора случайных чисел
int num = rand() % 10; // получение случайного числа от 0 до 9

Данный код установит начальное значение генератора случайных чисел в 42, что позволит получать одинаковый результат при каждом запуске программы.

Пример кода для генерации случайного числа в диапазоне от 1 до 100:


#include 
#include 
#include 
int main() {
    srand(time(NULL));
    int num = 1 + rand() % 100;
    printf("Random number: %d\n", num);
    return 0;
}

В данном примере мы используем функцию time() для установки начального значения генератора случайных чисел на основе текущего времени, что позволит получать каждый раз разное случайное число.

Похожие вопросы на: "c rand диапазон "

Как вывести пирамиду из символов заданной высоты: подробный гайд
PHP preg_match: регулярные выражения для поиска текста в строке
Обновление NPM и пакетов Node.js: как правильно делать
Таймер на 5 минут
Рисование прямоугольников в Pygame
Как подключить CSS на сайт: шаг за шагом руководство
SimulIDE: бесплатная среда разработки электронных схем и микроконтроллеров
Array VBA: работа с массивами в языке программирования VBA
Какие данные могут служить ключом в таблице
DTB: основы и принципы базы данных