Tilfeldig strenggenerator C ++

Tilfeldig strenggenerator C ++
Strenger tilfeldig generator kan være en-av-en-type. En tilfeldig strenggenerator er også kjent som en tilfeldig karakterstrenggenerator når den brukes i dataprogrammering. Det er veldig effektivt å generere tilfeldige strenger, for eksempel en økt-ID for en webapplikasjon eller et foreløpig passord etter registrering for en applikasjon.

For å generere tilfeldige tegn, bør vi bruke RAND () -metoden. Det genererer heltallverdier tilfeldig. Dette tallet opprettes ved hjelp av en algoritme tilknyttet den spesifikke tiden det kalles og returnerer en rekke tilsynelatende ikke -relaterte tall. Det er noen applikasjoner for å generere tilfeldige strenger som følger:

  • Kryptografi, som understøtter de fleste teknikkene som søker å tilby sikkerhet i moderne kommunikasjon, utfører omfattende bruk av uventede tilfeldige karakterer (e.g., kryptering, autorisasjon, elektronisk virksomhet osv.).
  • Tilfeldige tegn brukes også i tilfeller der "rettferdighet" kan simuleres gjennom randomisering, for eksempel juryutvelgelse og militært utkast til lotterier.

Her er artikkelen som vil generere alfabetet tilfeldig med forskjellige scenarier på en enkel måte

Eksempel 1: Bruke RAND () -funksjonen for å generere tilfeldige alfabeter i C++

Følgende C ++ -program genererer et tilfeldig streng alfabet ved å bruke RAND () -funksjon og SRAND () -funksjon. RAND () -funksjonen genererer de tilfeldige alfabet.

Til å begynne med har vi et program som setter en rekke alfabetstørrelse som "ch_max", som er av int char datatype. Etter det konstruerte vi en strengdatatypefunksjon representert som "RandomString" og passerte en INT -variabel "CH". Inne i funksjonen opprettes en karaktergruppe som "alfa", som har passert karakteroppstartstørrelsen som er initialisert ovenfor. Karakteroppstarten har 26 alfabeter som er i små bokstaver.

Deretter har vi laget en variabel som et "resultat" og holdt for øyeblikket dette variabelen "resultatet" tom. For -loopen sykes over variabelen “CH” som inneholder små alfabeter. Deretter har vi definert variabelen "Resultat". Resultatet har RAND () -funksjonen for karaktermatriser av alfabet. Dette vil generere en tilfeldig alfabetisk streng.

Nå påberopes programmets hovedfunksjon der SRAND -funksjonen brukes til å stille inn frøkiden som null for, og også Int -variabelen “CH” initialiseres med verdien “15”. Den tilfeldige alfabetstrengen som genereres vil ha 15 tilfeldige alfabeter fra den gitte matrisen.

#inkludere
ved hjelp av navneområdet STD;
const int ch_max = 26;
String randomString (int ch)

char alpha [ch_max] = 'a', 'b', 'c', 'd', 'e', ​​'f', 'g',
'H', 'I', 'J', 'K', 'L', 'M', 'n',
'O', 'P', 'Q', 'R', 'S', 'T', 'U',
'V', 'w', 'x', 'y', 'z';
strengresultat = "";
for (int i = 0; iResultat = Resultat + Alpha [rand () % ch_max];
returresultat;

int main ()

Srand (tid (null));
int ch = 15;
cout<retur 0;

Hurtigskallet viser den tilfeldige alfabeter -strengutgangen som følger:

Eksempel 2: generere alfabeter streng og lagre dem i rekke tegn i C++

I denne koden genererer vi først to matriser med tegn, en for lagring av alle alfabetene og en annen for å skrive ut tilfeldige tegn. Vi valgte en minimal lengde for å holde ting enkelt.

For å starte med hovedfunksjonen, har vi erklært en rekke alfabeter i størrelse 26 som "alfabeter". Siden det er 26 alfabet generelt, er disse alfabetets representasjon i små bokstaver. Deretter har vi definert en annen karakteroppstilling som "RandString", som har størrelsen på "10". Frøet for RAND -funksjonen er også satt, og omgår tiden til nullverdier i SRAND -funksjonen.

Vi har en stundsløyfe som variabelen “k” opprettes og initialiseres med verdien null. Mens sløyfen går gjennom størrelsen på "randstring", som er en tilfeldig streng og lagrer tilfeldig opprettet alfabeter med streng i en stundsløyfe. Den variable “temp” opprettes her, som bruker RAND -funksjonen til å generere en tilfeldig streng innen et område på 26. Antallet sendes deretter til alfabetets matrise, og genererer en tilfeldig streng.

Etter det har vi en for loop for å skrive ut alfabetstrengen.

#inkludere
#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

Char alfabeter [26] = 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
'i', 'J', 'k', 'l', 'm', 'n', 'o', 'p', 'q',
'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z';
Char RandString [10];
Srand (tid (null));
int k = 0;
mens (k<10)
int temp = rand () % 26;
RandString [k] = alfabet [temp];
K ++;

for (k = 0; k<10; k++)
cout<cout<<"\n";
retur 0;

Strengen har den tilfeldige alfabetiske karakteren av lengde størrelse 10, vist i følgende skall.

Eksempel 3: generere tilfeldige ordstreng i C++

Ovennevnte program har generert en alfabetstreng og lagrer dem i matrisen. Vi genererer strengen med tilfeldige ord i følgende C ++ -program.

Programmets første trinn har tomromsfunksjonen opprettet med navnet "Randomword", som har bestått en pekerkaraktervariabel "StrWord". Innenfor funksjonen har vi spesifisert en variabel som "len". Denne variabelen bruker RAND -funksjonen for å skape en annen verdi for tegn i området for matrisens størrelse.

Deretter har vi definert en matrise "strord", som har størrelsen på "len". Mens Loop vil iterere over "strord" og generere det tilfeldige ordet innenfor området 26 tegn. Etter det vil hovedfunksjonen skrive ut det tilfeldige ordet gjennom iterasjon av mens Loop.

#inkludere
#inkludere
#inkludere
#inkludere
ved hjelp av navneområdet STD;
void randomword (char *strord)

int len ​​= rand () % 4 + 1;
Strord [len] = 0;
mens (len) strord [-len] = 'a' + rand () % 26;

int main ()

char strord [5];
char strword2 [5];
int i = 0;
Srand (tid (0));
mens jeg<4)

Tilfeldig ord (strord);
Tilfeldig ord (strord2);
cout << "=>"" << StrWord << " << "=>"" << StrWord2 << endl;
i ++;

Utfallet av generatoren for tilfeldige ord vises på terminalskallet.

Eksempel 4: Genererende alfa-numerisk streng i C++

Nå vil vi se på å lage en tilfeldig alfanumerisk streng i C++. Vi har små bokstaver, store bokstaver og sifre fra 0 til 9. Dette programmet velger tegn tilfeldig og genererer deretter en tilfeldig streng.

Til å begynne med har vi erklært en matrise som "alfanumerisk", som inneholder både små og store bokstaver og den numeriske verdien fra 0 til 9. Etter det initialiseres array -størrelses -IDen ved hjelp av størrelsesfunksjonen og lagres i en nyopprettet variabel, "Mylen".

Deretter opprettes funksjonen "Randomstr" for å generere tilfeldige alfanumeriske strenger innenfor rekkevidden av arraystørrelse. Vi har tid satt til null innenfor hovedfunksjonen, og variabelen er definert som "L". Brukeren vil legge inn strenglengden og deretter skrive ut på skallet.

#inkludere
#inkludere
#inkludere
#inkludere
ved hjelp av navneområdet STD;
statisk const char alphanumeric [] = "0123456789"
"Abcdefghijklmnopqrstuvwxyz"
"abcdefghijklmnopqrstuvwxyz";
int mylen = størrelse av (alfanumerisk) - 1;
char randomstr ()
return alfanumeric [rand () % mylen];

int main ()
Srand (tid (0));
int l;
cout << "Enter string length: ";
cin >> l;
for (int m = 0; m < l; m++)
cout<
cout<< "\n";
retur 0;

På hver kodesamling fikk vi således en annen tilfeldig alfanumerisk streng på skallet.

Konklusjon

Tilfeldig er blant de vanskeligste konseptene i C ++ å forklare. Selv erfarne programmerere kan bli forundret av flere funksjoner med samme navn. Å bruke dem på riktig måte kan imidlertid være morsomt. Vi har sett i ovennevnte eksempel på hvordan tilfeldige alfabeter, ord og til og med alfanumeriske strenger er blitt generert i programmet C++. Vi har gitt deg de enkleste eksemplene, som enkelt kan håndteres når du arbeider med tilfeldige strenggeneratorer i C++.
[/cc]