Въведение в генератора на случайни числа в С

За да генерира очакваната продукция, програмата трябва да се нуждае от правилното въвеждане. Обикновено входовете се предоставят от потребителя, но понякога програмата трябва да избере входа сама. Например, за да получи текущата времева марка, приложението използва вградена функция, за да го извлече от системата. По същия начин, понякога е необходимо да имаме приложение, генериращо произволно число, което би могло да бъде обработено допълнително, за да получим предполагаемия резултат. Въпреки че изглежда произволно за потребителя, езикът за програмиране ни предлага механизма за определяне на обхвата на случайното число. В тази статия ще видим реализацията на програмата от генериране на произволни числа с помощта на езика за програмиране на 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