Générateur de chaînes aléatoires C ++

Générateur de chaînes aléatoires C ++
Cordes générateur aléatoire peut être unique en son genre. Un générateur de chaîne aléatoire est également connu sous le nom de générateur de chaînes de caractères aléatoires lorsqu'il est utilisé dans la programmation informatique. Il est très efficace de générer des chaînes aléatoires, comme un id de session pour une application Web ou un mot de passe préliminaire après s'être inscrit à une application.

Pour générer des caractères aléatoires, nous devons utiliser la méthode rand (). Il génère des valeurs entières au hasard. Ce numéro est créé à l'aide d'un algorithme associé au temps spécifique qui s'appelle et renvoie une succession de nombres apparemment sans rapport. Il existe des applications pour générer des chaînes aléatoires comme suit:

  • La cryptographie, qui sous-tend la plupart des techniques qui cherchent à offrir la sécurité dans les communications modernes, utilise largement des personnages aléatoires inattendus (E.g., cryptage, autorisation, entreprise électronique, etc.).
  • Des caractères aléatoires sont également utilisés dans les cas où «l'équité» peut être simulée par la randomisation, comme la sélection du jury et les loteries de draft militaire.

Voici l'article qui générera l'alphabet au hasard avec différents scénarios de manière simple

Exemple 1: Utilisation de la fonction rand () pour générer des alphabets aléatoires en C++

Le programme C ++ suivant génère un alphabet de chaîne aléatoire en utilisant la fonction Rand () et Srand (). La fonction rand () génère les alphabets aléatoires dans une fonction String et Srand () est utilisé pour semer la fonction rand ().

Initialement, nous avons un programme qui définit le tableau de la taille des alphabets en tant que «ch_max», qui est de type de données int char. Après cela, nous avons construit une fonction de type de données de chaîne représentée comme «RandomString» et passé une variable int «CH». À l'intérieur de la fonction, un tableau de caractères est créé comme «alpha», qui a passé la taille du tableau de caractères initialisé ci-dessus. Le tableau des caractères a 26 alphabets qui sont en minuscules.

Ensuite, nous avons créé une variable en tant que «résultat» et avons actuellement gardé ce «résultat» variable vide. La boucle FOR est cyclable sur la variable «CH» contenant des alphabets en minuscules. Ensuite, nous avons défini le «résultat» variable. Le résultat a la fonction rand () pour les tableaux de caractères des alphabets. Cela générera une chaîne alphabétique aléatoire.

Maintenant, la fonction principale du programme est invoquée lorsque la fonction SRAND est utilisée pour définir le temps des semences comme nul, et aussi la variable int "CH" est initialisée avec la valeur "15". La chaîne aléatoire d'alphabet générée aura 15 alphabets aléatoires du tableau donné.

#inclure
Utilisation de Namespace 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»;
Résultat de chaîne = "";
pour (int i = 0; iresult = result + alpha [rand ()% ch_max];
Résultat de retour;

int main()

srand (temps (null));
int ch = 15;
couter<retour 0;

Le shell invite affiche la sortie de chaîne aléatoire des alphabets comme suit:

Exemple 2: Générer des alphabets String et les stocker dans le tableau des caractères en C++

Dans ce code, nous générons d'abord deux tableaux de caractères, l'un pour stocker tous les alphabets et un autre pour imprimer des caractères aléatoires. Nous avons choisi une longueur minimale pour garder les choses simples.

Pour commencer par la fonction principale, nous avons déclaré un tableau d'alphabets de taille 26 comme «alphabets». Comme il y a 26 alphabets en général, la représentation de ces alphabets est en minuscules. Ensuite, nous avons défini un autre tableau de personnage comme «Randstring», qui a la taille de «10». La graine de la fonction RAND est également définie, contournant le temps des valeurs nulles dans la fonction SRAND.

Nous avons une boucle de temps pour laquelle la variable «k» est créée et initialisée avec la valeur zéro. La boucle while traverse la taille du «Randstring», qui est une chaîne aléatoire et stocke des alphabets créés au hasard de String dans une boucle de temps. La variable «Temp» est créée ici, qui utilise la fonction Rand pour générer une chaîne aléatoire dans une plage de 26. Le numéro est ensuite transmis au tableau d'alphabet, générant une chaîne aléatoire.

Après cela, nous avons une boucle pour imprimer la chaîne d'alphabet.

#inclure
#inclure
#inclure
Utilisation de Namespace Std;
int main()

Char Alphabets [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 (temps (null));
int k = 0;
Pendant que (k<10)
int temp = rand ()% 26;
Randstring [k] = alphabets [temp];
k ++;

pour (k = 0; k<10; k++)
couter<couter<<"\n";
retour 0;

La chaîne a le caractère alphabétique aléatoire de la taille de longueur 10, illustré dans la coque suivante.

Exemple 3: Génération de mots aléatoires String en C++

Le programme ci-dessus a généré une chaîne d'alphabets et les stocke dans le tableau. Nous générons la chaîne de mots aléatoires dans le programme C ++ suivant.

L'étape initiale du programme a la fonction vide créée avec le nom «Randomword», qui a passé une variable de caractères de pointeur «Strword». Dans la fonction, nous avons spécifié une variable comme «len». Cette variable utilise la fonction Rand pour créer une valeur différente pour les caractères à l'intérieur de la plage de la taille du tableau.

Ensuite, nous avons défini un tableau «Strword», qui a la taille de «len». La boucle while itérera sur le «Strword» et générera le mot aléatoire dans la plage de 26 caractères. Après cela, la fonction principale imprimera le mot aléatoire par itération par la boucle.

#inclure
#inclure
#inclure
#inclure
Utilisation de Namespace Std;
void Randomword (char * strword)

int len ​​= rand ()% 4 + 1;
Strword [len] = 0;
tandis que (len) strword [--n] = 'a' + rand ()% 26;

int main ()

char Strword [5];
char Strword2 [5];
int i = 0;
srand (temps (0));
alors que je<4)

Randomword (Strword);
Randomword (Strword2);
couter << "=>" << StrWord << " << "=>" << StrWord2 << endl;
i ++;

Le résultat du générateur de mots aléatoires est affiché sur la coque terminale.

Exemple 4: Génération de la chaîne alpha-numerique en C++

Maintenant, nous allons chercher à créer une chaîne alphanumérique aléatoire en C++. Nous avons des lettres minuscules, des lettres majuscules et des chiffres de 0 à 9. Ce programme sélectionne les caractères au hasard puis génère une chaîne aléatoire.

Au début, nous avons déclaré un tableau comme «alphanumérique», qui contient à la fois les alphabets minuscules et majuscules et la valeur numérique de 0 à 9. Après cela, l'ID de taille du tableau est initialisé à l'aide de la taille de la fonction et stocké dans une variable nouvellement créée, «Mylen».

Ensuite, la fonction «RandomStr» est créée pour générer des chaînes alphanumériques aléatoires dans la plage de taille du tableau. Nous avons le temps réglé sur zéro dans la fonction principale, et la variable est définie comme «L». L'utilisateur entrera la longueur de la chaîne puis imprimera sur le shell.

#inclure
#inclure
#inclure
#inclure
Utilisation de Namespace Std;
Const statique Char Alphanumeric [] = "0123456789"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int mylen = sizeof (alphanumérique) - 1;
char randomstr ()
retour alphanumérique [rand ()% mylen];

int main()
srand (temps (0));
int l;
couter << "Enter string length: ";
cin >> l;
pour (int m = 0; m < l; m++)
couter<
couter<< "\n";
retour 0;

Ainsi, à chaque compilation de code, nous avons obtenu une chaîne alphanumérique aléatoire différente sur le shell.

Conclusion

Le hasard est parmi les concepts les plus difficiles en C ++ à expliquer. Même les programmeurs expérimentés peuvent être perplexes par plusieurs fonctions avec le même nom. Cependant, les utiliser de manière appropriée peut être agréable. Nous avons vu dans l'exemple ci-dessus comment des alphabets, des mots et même des chaînes alphanumériques ont été générées dans le programme C++. Nous vous avons fourni les exemples les plus simples, qui peuvent être facilement gérés lorsque vous traitez avec des générateurs de cordes aléatoires en C++.
[/ cc]