Увод у генератор случајних бројева на Ц

Да би се генерирао очекивани излаз, програму мора бити потребан одговарајући унос. Уобичајено уносе даје корисник, али понекад програм мора сам одабрати улаз. На примјер, за добивање тренутне временске ознаке апликација користи уграђену функцију за преузимање из система. На исти начин понекад морамо имати апликацију која генерише било који случајни број који би се могао даље обрадити да бисмо добили претпостављени излаз. Иако кориснику изгледа случајно, програмски језик нам нуди механизам за дефинисање опсега случајног броја. У овом чланку ћемо видети имплементацију програма генерирања случајних бројева користећи програмски језик Ц. Ми ћемо се фокусирати на уграђену функцију коју пружа Ц да бисмо генерисали случајни број.

Шта су функције генератора случајних бројева у Ц?

Постоји неколико приступа за генерисање случајних бројева користећи било који од програмских језика. Може се дефинисати функција на сопствени начин да процени или генерише случајни број, док постоје уграђене функције у било ком програмском језику који генерише случајни број. У програмском језику Ц имамо функцију која се зове ранд, а која помаже у генерисању случајног броја. Ова функција долази унапред дефинисана у Ц и може се имплементирати у програм помоћу стдлиб.х заглавне датотеке. Програмер треба да напомене заглавље датотеке стдлиб.х на почетку програма да би искористио функцију ранд. Сваки пут када се ова функција позива, он генерише тотално случајни број. На основу захтева може се генерисати број који припада целом, флоат или двоструком типу података. Може се једноставно користити у програму помоћу функције ранд ().

Иако би функција ранд требала генерирати случајну вриједност, задржала се да генерира исту вриједност сваки пут када се програм изврши и може се догодити због сталне вриједности сјемена. Ако је услов да се сваки случајни број генерише сваки пут када се програм изврши, онда морамо осигурати да се изворник промијени кад год се програм покрене. Време је нешто што се стално мења и такође се може сматрати нечим што може помоћи у добијању случајне вредности семена сваки пут и да бисмо користили време у програму, морамо да користимо датотеку заглавља тиме.х.

Интегри генерације

Функција ранд () користи се за генерисање случајних бројева. Сваки пут када се зове, даје случајни број. Ако програмери додају неку логику са њом, они могу генерисати случајни број унутар дефинисаног распона и ако опсег није дефинисан изричито, вратит ће потпуно случајну цијели број. Функција ранд () у Ц могла би се користити за генерисање случајних бројева, а генерисани број потпуно брише семе. Семе је вредност која се користи ранд функцијом за генерисање случајних вредности. Ако се вредности семена стално мењају, генерисани број ће се појавити сваки пут када се програм компајлира, враћаће исту вредност сваки пут када је генерисано када је програм први пут извршен. Да би се генерирао Доле је програм за генерисање целог случајног броја.

Програм

#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.

У овом програму користили смо датотеку заглавља тиме.х која се користи да искористи системско време у генерисању случајних бројева. Како се време мења сваки пут, вредност семена ће се мењати сваки пут када се програм изврши, помажући нам да генерирамо случајни број сваки пут када се програм изврши. Ранд_нум је променљива која се користи за чување насумично генерисаног броја. Функција ранд () генерише случајни број који је додељен променљивој ранд_нум. Како нисмо експлицитно дефинисали повратну вредност случајног броја, дат ће нам цео број.

Генерирање бројева с помичним тачкама

Приступ генерисању случајне флоат вредности сличан је приступу за генерисање целог броја. Једина разлика је у томе што ћемо требати изричито дефинисати да вредност коју очекујемо од функције ранд треба да буде флоат. Вредност плутања обично троши више простора за складиштење у односу на кратки инт. Програм који смо горе написали за генерисање случајних целих вредности биће исти као што ћемо овде и написати. Једина разлика ће бити експлицитна дефиниција типа података. Слично као у прошлом програму, и овде смо користили датотеку заглавља тиме.х да би допринели генерисању случајних бројева. Ако ова датотека заглавља није укључена у програм, дат ће исту вредност сваки пут када програм. Извршено је. Испод је програм за случајно генерирање вредности флоат-а.

Програм

#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);
)
)

Излаз:

У овом програму смо користили (флоат) који се користи да експлицитно дефинише да вредност враћена из функције ранд треба да буде плутајуће природе. Пошто је променљива ран_нум такође дефинисана с типом података с помичним бројем, она ће моћи да обрађује број флоат-а који обично има шест цифара након децималне тачке када се генерише у програмском језику Ц. Приликом штампања флоат вриједности користили смо% ф јер је то нешто на што треба водити рачуна приликом исписа флоат вриједности.

Закључак

Да би се повећала случајност броја, може се користити математички израз. Такође се помоћу логике може дефинисати и распон бројева под којима се жели да се случајно генерира број. Функција генерисања случајних гума пружа се од стране свих програмских језика и користи се у стварној апликацији на основу захтева. Да бисмо осигурали јаку случајност броја, морамо осигурати да семе које функција ранд користи за генерисање случајне вредности треба да буде врло случајно и ново сваки пут када се програм покрене.

Препоручени чланци

Ово је водич за Генератор случајних бројева у Ц. Овде разматрамо функцију, генерације целих бројева и генерисање бројева са зарезом у Ц. Такође можете да прођете кроз остале предложене чланке да бисте сазнали више -

  1. Генератор случајних бројева у Р
  2. Шта је класа шаблона у Ц ++?
  3. Рандом Форест Алгоритхм
  4. Оквири у Јави
  5. Шта је генератор случајних бројева у Питхон-у?
  6. Генератор случајних бројева у Ц ++ (примери са корацима)
  7. Генератор случајних бројева у Матлабу
  8. Генератор случајних бројева у Ц #
  9. Генератор случајних бројева у ЈаваСцрипт-у
  10. Генератор случајних бројева у ПХП-у

Категорија: