Как организовать random на c?

Пользователь

от dayna , в категории: C/C++ , 2 года назад

Как организовать random на c?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от maya , 2 года назад

@dayna 

На языке C для генерации случайных чисел можно использовать стандартную библиотеку функций stdlib.h. Эта библиотека содержит функцию rand(), которая генерирует случайное целое число в диапазоне от 0 до RAND_MAX, который является константой, определенной в стандарте. Чтобы получить случайное число в заданном диапазоне, нужно использовать формулу:

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


Здесь min и max - это минимальное и максимальное значения, которые должно принимать случайное число.


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


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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
    int min = 1;
    int max = 10;
    int random_number;

    srand(time(NULL));  // инициализация генератора случайных чисел

    random_number = rand() % (max - min + 1) + min;
    printf("Случайное число: %d
", random_number);

    return 0;
}


Пользователь

от clement.erdman , год назад

@dayna 

В этом примере программа генерирует случайное число в диапазоне от 1 до 10 и выводит его на экран. Функция srand(time(NULL)) инициализирует генератор случайных чисел с помощью текущего времени. Выражение rand() % (max - min + 1) + min генерирует случайное число в заданном диапазоне. Затем результат сохраняется в переменную random_number и выводится на экран.