Lahendatud: genereeri juhuslik tähemärk

Viimane uuendus: 09/11/2023

Moe- ja programmeerimisspetsialistina hindan mõlema maailma ilu, isegi kui tegemist on juhuslike tähemärkide genereerimisega. C++ maailmas võib seda ülesannet võrdsustada täiusliku riietuse kujundamisega: see nõuab põhimõtete mõistmist, loovust ja veidi juhuslikkust, et see oleks põnev.

Täna võtame ette põneva teekonna ja süveneme sellesse, kuidas luua funktsioon C++-s juhusliku tähemärgi genereerimiseks. Sarnaselt kauni rõivaeseme kudumisele kasutame õigeid tööriistu ja tehnikaid, et koostada programm, mis on ühtaegu funktsionaalne ja tõhus.

Kaasatud raamatukogud

Juhuslike arvude genereerimise kõige olulisem funktsioon asub teegis nimega cstdlib . See on nagu peamine materjal, mida me kasutame moemeistriteose loomiseks. See teeki sisaldab funktsiooni nimega rand().

#include

Selle funktsiooni kutsumisel tagastatakse täisarv vahemikus 0 kuni RAND_MAX, mis on cstdlib konstant, mis tavaliselt esindab suurt väärtust. Samamoodi nagu erksad värvid võivad moetükile elu anda, lisab juhuslikkus meie koodi ettearvamatuse elemendi, muutes selle dünaamiliseks ja paindlikuks.

Juhusliku tegelase genereerimine

Samamoodi, kuidas hoolikas moelooja kombineerib erinevaid elemente, et luua vapustav välimus, ühendame nüüd meie tööriistad, et lahendada käsil olev ülesanne – luua juhuslik tegelane. See hõlmab funktsiooni rand() poolt tagastatud täisarvude komplekti vastendamist prinditavatele tähemärkidele vastavate ASCII väärtustega.

#include
#include
#include

char gener_random_char() {
srand(aeg(0));
int juhuslikInt = rand() % 128;
while(randomInt < 33) { randomInt = rand() % 128; } tagastab static_cast(randomInt);
}

int main () {
std::cout << gener_random_char(); tagasi 0; } [/code] Moes on ajastus kõik ja meie maailmas pole see erinev. Funktsioon time(0) teegist ctime aitab meil rand() funktsiooni idandada praeguse kellaajal, mille tulemuseks on suurepärane juhuslikkuse generaator. Umbes nagu ajatu rõivaese, mis peab ajaproovile vastu, teeb seda ka meie lahendus.

Koodi lahkamine

Funktsioon rand() tagastab juhusliku täisarvu. Nagu varem mainitud, võib seda võrrelda juhusliku riide valimisega moekastist. Kuid mitte kõik materjalid ei sobi meie disainiga; seega on vaja kontrollida nende kvaliteeti või antud juhul vahemikku.

Me moduleerime juhuslikku arvu 128-ga, et tagada selle jäämine prinditavate ASCII-märkide vahemikku, mis on vahemikus 0 kuni 127. Mitteprinditavate märkide kõrvaldamiseks aga kasutame while-tsüklit, mis genereerib juhuslikke numbreid seni, kuni saame juhusliku arvu 33 või suurema, mis vastab esimesele prinditavale ASCII-märgile – hüüumärgile '!'.

Lõpuks teisendame (valake) oma int chariks. Tulemuseks on juhuslik prinditav märk. Iga funktsiooni kutse genereerib ajapõhise külvi kasutamise tõttu erineva märgi. Lõpuks on meie ainulaadne meistriteos maailmale vaatamiseks valmis, sarnaselt uusima moetrendiga, mis tabab lennuradasid. Mõlemas maailmas on üllatus element esmatähtis ja see on programmeerimise juhuslikkuse ja moe stiili ilu.

Kokkuvõtteks võib öelda, et nii nagu erinevad elemendid ühinevad moemaailma kujundamiseks, segunevad erinevad raamatukogud ja funktsioonid, et lahendada programmeerimisprobleeme. Juhuslik tähemärkide genereerimine on vaid üks hämmastavatest asjadest, mida saame C++ abil teha, sarnaselt näiliselt sobimatute esemete hulgast vapustava riietuse loomine. See on loovuse võlu – olgu see siis moes või koodis.

Seonduvad postitused: