Introductie van Random Number Generator in C

Om de verwachte output te genereren, moet het programma de juiste input hebben. Gewoonlijk worden de invoer door de gebruiker geleverd, maar soms moet het programma zelf de invoer kiezen. Om bijvoorbeeld de huidige tijdstempel te krijgen, gebruikt de toepassing een ingebouwde functie om deze van het systeem op te halen. Op dezelfde manier moeten we soms een willekeurig willekeurig nummer laten genereren dat verder kan worden verwerkt om de veronderstelde uitvoer te krijgen. Hoewel het voor de gebruiker willekeurig lijkt, biedt de programmeertaal ons het mechanisme om het bereik van het willekeurige nummer te definiëren. In dit artikel zien we de programma-implementatie van het genereren van willekeurige getallen met behulp van de C-programmeertaal. We zullen ons concentreren op de ingebouwde functie die wordt geleverd door C om een ​​willekeurig getal te genereren.

Wat zijn Random Number Generator-functies in C?

Er zijn verschillende benaderingen om het willekeurige nummer te genereren met behulp van een van de programmeertaal. Men kan de functie van zijn eigen manier definiëren om het willekeurige getal te schatten of te genereren, terwijl er ingebouwde functies zijn in elke programmeertaal die het willekeurige getal genereert. In de C-programmeertaal hebben we een functie genaamd rand, die helpt bij het genereren van het willekeurige getal. Deze functie is vooraf gedefinieerd in C en kan in het programma worden geïmplementeerd met behulp van het header-bestand stdlib.h. De ontwikkelaar moet het header-bestand stdlib.h aan het begin van het programma vermelden om de randfunctie te kunnen gebruiken. Telkens wanneer deze functie wordt aangeroepen, genereert deze een volledig willekeurig getal. Op basis van de vereiste kan men genereren dat het getal behoort tot het geheel getal, float of dubbel datatype. Het kan eenvoudig in het programma worden gebruikt met de functie rand ().

Hoewel de randfunctie verondersteld wordt de willekeurige waarde te genereren, bleef deze vast om elke keer dat het programma wordt uitgevoerd dezelfde waarde te genereren en dit kan gebeuren vanwege de constante seed-waarde. Als het vereiste is dat het nieuwe willekeurige nummer wordt gegenereerd telkens wanneer het programma wordt uitgevoerd, moeten we ervoor zorgen dat de seed moet worden gewijzigd wanneer het programma wordt uitgevoerd. Tijd is iets dat blijft veranderen en kan ook worden beschouwd als iets dat kan helpen om elke keer een willekeurige seed-waarde te krijgen en om tijd in het programma te gebruiken, moeten we het header.h-bestand time.h gebruiken.

Generatie gehele getallen

De functie rand () wordt gebruikt om een ​​willekeurig getal te genereren. Elke keer dat het wordt opgeroepen, geeft het een willekeurig nummer. Als de ontwikkelaars enige logica toevoegen, kunnen ze het willekeurige getal binnen een gedefinieerd bereik genereren en als het bereik niet expliciet wordt gedefinieerd, retourneert het een geheel willekeurige geheel getalwaarde. De functie rand () in C kan worden gebruikt om het willekeurige nummer te genereren en het gegenereerde nummer verwijdert seed volledig. Een seed is de waarde die door de randfunctie wordt gebruikt om de willekeurige waarde te genereren. Als de seed-waarde blijft veranderen, zal het gegenereerde nummer elke keer dat het programma wordt gecompileerd nieuw zijn, anders zal het elke keer dezelfde waarde retourneren die werd gegenereerd toen het programma voor het eerst werd uitgevoerd. Om het onderstaande te genereren is het programma voor het genereren van het willekeurige gehele getal.

Programma

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

Output:

Het willekeurig gegenereerde nummer is 1804289383.

In dit programma hebben we time.h header-bestand gebruikt dat wordt gebruikt om de systeemtijd te benutten bij het genereren van het willekeurige getal. Naarmate de tijd elke keer verandert, verandert de waarde van seed elke keer dat het programma wordt uitgevoerd, waardoor we een willekeurig getal kunnen genereren telkens wanneer het programma wordt uitgevoerd. Rand_num is de variabele die wordt gebruikt om een ​​willekeurig gegenereerd nummer op te slaan. De functie rand () genereert een willekeurig getal dat wordt toegewezen aan de variabele rand_num. Omdat we de retourwaarde van het willekeurige getal niet expliciet hebben gedefinieerd, geeft het ons een geheel getal.

Floatpuntnummers genereren

De benadering voor het genereren van de willekeurige floatwaarde is vergelijkbaar met de benadering voor het genereren van het gehele getal. Het enige verschil is dat we expliciet moeten definiëren dat de waarde die we verwachten van de randfunctie een float moet zijn. De float-waarde verbruikt meestal meer ruimte in opslag in vergelijking met de korte int. Het programma dat we hierboven hebben geschreven voor het genereren van willekeurige gehele getallen zal hetzelfde zijn als we hier gaan schrijven. Het enige verschil is een expliciete definitie van het gegevenstype. Net als bij het vorige programma hebben we hier ook het header.h-headerbestand gebruikt om het bij te dragen aan het genereren van willekeurige floatnummers. Als dit headerbestand niet in het programma is opgenomen, geeft het elke keer dezelfde waarde als het programma. Is geëxecuteerd. Hieronder staat het programma voor het genereren van willekeurige floatwaarden.

Programma

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

Output:

In dit programma hebben we (float) gebruikt om expliciet te definiëren dat de waarde die wordt geretourneerd door de randfunctie van nature float moet zijn. Aangezien de variabele ran_num ook wordt gedefinieerd met een float-gegevenstype, kan deze het float-nummer verwerken, dat meestal zes cijfers achter de komma heeft wanneer het in de C-programmeertaal wordt gegenereerd. Tijdens het afdrukken van de float-waarde hebben we% f gebruikt, want dit is iets waar rekening mee moet worden gehouden tijdens het afdrukken van de float-waarde.

Conclusie

Om de willekeur van het getal te vergroten, kan men wiskundige uitdrukkingen gebruiken. Met behulp van logica kan men ook het bereik van getallen definiëren waaronder ze willen dat het getal willekeurig wordt gegenereerd. De functie om willekeurig rubber te genereren, wordt geleverd door alle programmeertalen en wordt in de daadwerkelijke toepassing gebruikt op basis van de vereiste. Om de sterke willekeurigheid van het nummer te waarborgen, moeten we ervoor zorgen dat de seed that rand-functie wordt gebruikt om de willekeurige waarde te genereren, zeer willekeurig en nieuw moet zijn telkens wanneer het programma wordt uitgevoerd.

Aanbevolen artikelen

Dit is een handleiding voor het genereren van willekeurige getallen in C. Hier bespreken we de functie, het genereren van gehele getallen en het genereren van float-puntnummers in C. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Willekeurige nummergenerator in R
  2. Wat is Template Class in C ++?
  3. Willekeurig bosalgoritme
  4. Frameworks in Java
  5. Wat is Random Number Generator in Python?
  6. Random Number Generator in C ++ (voorbeelden met stappen)
  7. Willekeurige nummergenerator in Matlab
  8. Willekeurige nummergenerator in C #
  9. Willekeurige nummergenerator in JavaScript
  10. Random Number Generator in PHP