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

Для отримання очікуваного результату програма повинна потребувати належного введення. Зазвичай введення надаються користувачем, але іноді програмі доводиться вибирати дані самостійно. Наприклад, для отримання поточної позначки часу програма використовує вбудовану функцію для отримання її з системи. Таким же чином, іноді нам потрібно мати, щоб програма генерувала будь-яке випадкове число, яке можна було б додатково обробити для отримання передбачуваного результату. Хоча для користувача це виглядає випадково, мова програмування пропонує нам механізм визначення діапазону випадкового числа. У цій статті ми побачимо реалізацію програми генерації випадкових чисел за допомогою мови програмування C. Ми зосередимо увагу на вбудованій функції, яку надає C, щоб генерувати випадкове число.

Що таке функція генератора випадкових чисел у C?

Існує кілька підходів до генерування випадкового числа за допомогою будь-якої мови програмування. Можна визначити функцію по-своєму оцінювати або генерувати випадкове число, поки є вбудовані функції в будь-якій мові програмування, яка генерує випадкове число. У мові програмування на C ми маємо функцію під назвою rand, яка допомагає генерувати випадкове число. Ця функція заздалегідь визначена в C і може бути реалізована в програмі за допомогою файлу заголовка stdlib.h. Розробнику потрібно згадати файл заголовка stdlib.h на початку програми, щоб використовувати функцію rand. Щоразу, коли ця функція викликається, вона генерує абсолютно випадкове число. Виходячи з вимоги, можна сформувати число, яке належить до цілого, плаваючого чи подвійного типу даних. Його можна просто використовувати в програмі за допомогою функції rand ().

Хоча функція rand повинна генерувати випадкове значення, вона затримується, щоб генерувати одне і те ж значення кожного разу, коли програма виконується, і це може статися через постійне значення насіння. Якщо вимога полягає в тому, щоб кожен випадковий номер генерувався кожного випадкового числа, ніж ми повинні переконатися, що насіння має змінюватися кожного разу, коли програма працює. Час - це те, що постійно змінюється, і його також можна розглядати як щось, що може допомогти отримувати випадкове значення насіння кожного разу та використовувати час у програмі, ми повинні використовувати заголовок файлу time.h.

Цілі покоління

Функція rand () використовується для генерації випадкового числа. Кожен раз, коли він викликається, він дає випадкове число. Якщо розробники додадуть до неї певну логіку, вони можуть генерувати випадкове число у визначеному діапазоні, і якщо діапазон не визначений явно, він поверне цілком випадкове ціле значення. Функція rand () в C може бути використана для генерування випадкового числа, а згенероване число повністю видаляє насіння. Насіння - це значення, яке використовується функцією rand для генерації випадкового значення. Якщо значення насіння зберігається на зміні, то згенероване число буде новим кожного разу, коли програма буде іншим чином скомпільована, вона буде повертати те саме значення кожного разу, що було створене при першому виконанні програми. Для того, щоб генерувати знизу, програма для генерації цілого цілого випадкового числа.

Програма

#include
#include
#include
int main()
(
int rand_num;
srand(time(0));
printf("The randomly generated number is”);
rand_num = rand();
printf("%d\n", rand_num);
)
)

Вихід:

Випадково генероване число - 1804289383.

У цій програмі ми використали файл заголовка time.h, який використовується для використання системного часу при генерації випадкового числа. Оскільки час змінюється щоразу, значення насіння буде змінюватися щоразу, коли програма буде виконуватися, що допомагає нам генерувати випадкове число щоразу, коли програма виконується. Rand_num - це змінна, яка використовується для зберігання випадково генерованого числа. Функція rand () генерує випадкове число, яке присвоюється змінній rand_num. Оскільки ми не визначили прямо значення значення випадкового числа, воно дасть нам ціле число.

Генерування чисел з плаваючою точкою

Підхід для генерування випадкового значення з поплавком аналогічний підходу для генерації цілого числа. Єдина відмінність полягає в тому, що нам потрібно буде чітко визначити, що значення, яке ми очікуємо від функції rand, має бути float. Значення поплавця зазвичай займає більше місця в сховищі порівняно з коротким int. Програма, про яку ми писали вище для генерації випадкових цілих значень, буде такою ж, як ми пишемо тут. Єдиною різницею буде чітке визначення типу даних. Як і в останній програмі, ми тут також використовували файл заголовка time.h, щоб дозволити йому створювати випадкові числа з плаваючою цифрою. Якщо цей файл заголовка не включений до програми, він буде давати однакове значення кожного разу, коли програма. Виконується. Нижче представлена ​​програма для генерації випадкових величин з плаваючою вагою.

Програма

#include
#include
#include
int main()
(
float rand_num;
srand(time(0));
printf("The randomly generated float number is ”);
rand_num = (float) rand();
printf("%f", rand_num);
)
)

Вихід:

У цій програмі ми використовували (float), який використовується для явного визначення того, що значення, повернене з функції rand, має бути плаваючою природою. Оскільки змінна ran_num також визначається з типом даних з плаваючою точкою, вона зможе обробляти число поплавця, яке зазвичай має шість цифр після десяткової крапки при створенні в мові програмування С. Під час друку значення float ми використовували% f, оскільки це щось, про що слід подбати, друкуючи значення float.

Висновок

Для посилення випадковості числа можна використовувати математичні вирази. Також, використовуючи логіку, можна також визначити діапазон чисел, під якими вони хочуть генерувати число випадковим чином. Функція для генерування випадкових каучуків надається всіма мовами програмування та використовується у фактичному застосуванні на основі вимоги. Для того, щоб забезпечити сильну випадковість числа, ми повинні переконатися, що насіння, яке функція rand використовується для генерування випадкових значень, має бути дуже випадковим і новим кожного разу, коли програма запускається.

Рекомендовані статті

Це посібник з генератора випадкових чисел у C. Тут ми обговорюємо функцію, цілі числа генерації та генерування чисел з плаваючою точкою у C. Ви також можете ознайомитись з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Генератор випадкових чисел в R
  2. Що таке клас шаблонів у C ++?
  3. Випадковий лісовий алгоритм
  4. Рамки в Java
  5. Що таке генератор випадкових чисел у Python?
  6. Генератор випадкових чисел у C ++ (приклади з кроками)
  7. Генератор випадкових чисел у Matlab
  8. Генератор випадкових чисел у C #
  9. Генератор випадкових чисел у JavaScript
  10. Генератор випадкових чисел у PHP