Kao stručnjak za modu i programiranje, cijenim ljepotu oba svijeta, čak i kada je u pitanju generiranje nasumičnog znaka. U svijetu C++-a ovaj se zadatak može izjednačiti sa stiliziranjem savršene odjeće: zahtijeva razumijevanje načela, kreativnost i mrvicu slučajnosti da bi bio uzbudljiv.
Danas ćemo krenuti na uzbudljivo putovanje i dublje istražiti kako izraditi funkciju za generiranje nasumičnog znaka u C++. Poput pletenja lijepog komada odjeće, koristit ćemo se pravim alatima i tehnikama za izradu programa koji je i funkcionalan i učinkovit.
Uključene knjižnice
Najvažnija funkcija za generiranje nasumičnih brojeva nalazi se u knjižnici poznatoj kao cstdlib. To je kao glavna tkanina koju koristimo za stvaranje modnog remek-djela. Ova biblioteka sadrži funkciju pod nazivom rand().
#include
Ova funkcija, kada se pozove, vraća cijeli broj između 0 i RAND_MAX, konstantu u cstdlib koja obično predstavlja visoku vrijednost. Na isti način na koji jarke boje mogu dati život modnom komadu, slučajnost dodaje element nepredvidivosti našem kodu, čineći ga dinamičnim i fleksibilnim.
Generiranje slučajnog znaka
Na isti način na koji pedantan modni dizajner kombinira različite elemente kako bi stvorio zadivljujući izgled, mi ćemo sada kombinirati naše alate za rješavanje zadatka koji nam je pri ruci – generiranje nasumičnog lika. To uključuje mapiranje skupa cijelih brojeva koje vraća funkcija rand() u ASCII vrijednosti koje odgovaraju znakovima za ispis.
#include
#include
#include
char generiraj_random_char() {
srand(vrijeme(0));
int randomInt = rand() % 128;
while(randomInt < 33) { randomInt = rand() % 128; } vrati static_cast
}
int main () {
std::cout << generiraj_slučajni_char(); povratak 0; } [/code] U modi je vrijeme sve, au našem svijetu nije ništa drugačije. Funkcija time(0) iz biblioteke ctime pomaže nam postaviti našu funkciju rand() na temelju trenutnog vremena, što rezultira izvrsnim generatorom slučajnosti. Slično kao bezvremenski komad odjeće koji odolijeva testu vremena, tako je i naše rješenje.
Seciranje Kodeksa
Funkcija rand() vraća nasumični cijeli broj. Kao što je ranije spomenuto, ovo se može usporediti s nasumičnim odabirom tkanine iz modne kutije. Ali nisu svi materijali prikladni za naš dizajn; dakle potreba za provjerom njihove kvalitete ili, u ovom slučaju, asortimana.
Nasumični broj moduliramo sa 128 kako bismo osigurali da se nalazi unutar raspona ASCII znakova koji se mogu ispisati, a koji se kreću od 0 do 127. Međutim, kako bismo uklonili znakove koji se ne mogu ispisivati, uvodimo petlju while koja nastavlja generirati nasumične brojeve sve dok ne dobijemo nasumični broj 33 ili veći, koji odgovara prvom ASCII znaku koji se može ispisati – '!' (uskličnik).
Na kraju, pretvaramo (cast) naš int u char. Rezultat je nasumični znak za ispis. Svaki poziv funkciji generira drugačiji znak zbog naše upotrebe sijanja temeljenog na vremenu. Na kraju, naše jedinstveno remek-djelo spremno je da ga svijet vidi, slično kao najnoviji modni trend koji se pojavljuje na pistama. U oba svijeta element iznenađenja je najvažniji, a to je ljepota nasumičnosti u programiranju i stila u modi.
Zaključno, kao što se različiti elementi spajaju kako bi oblikovali modni svijet, različite biblioteke i funkcije stapaju se kako bi riješile izazove programiranja. Nasumično generiranje znakova samo je jedna od nevjerojatnih stvari koje možemo učiniti s C++-om, slično stvaranju zapanjujuće odjeće od skupa naizgled neusklađenih stavki. To je čarolija kreativnosti – bilo u modi ili kodu.