Remplissez le tableau avec des nombres aléatoires C ++

Remplissez le tableau avec des nombres aléatoires C ++
Les tableaux sont utilisés pour contenir des éléments avec le même type de données dans des zones de mémoire séquentielle. Nous pouvons facilement construire des tableaux de différents types de données en C++. Dans cet article, nous travaillerons sur la création d'un tableau aléatoire contenant des nombres aléatoires en C++. Il vous aidera donc à créer des nombres aléatoires et à stocker le numéro associé dans un tableau. Nous utiliserons la bibliothèque C ++ pour créer des nombres aléatoires, que nous utiliserons ensuite pour remplir notre tableau.

Méthodes pour générer des nombres aléatoires en C++

Le langage de programmation C ++ comprend un générateur de nombres pseudo-aléatoires intégré ainsi que deux méthodes pour générer des nombres aléatoires: Rand () et Srand (). Passons par les méthodes rand () et srand () en profondeur.

Rand()

Pour obtenir un nombre aléatoire, nous utilisons la méthode rand (). Lorsqu'il est invoqué, la fonction rand () en C ++ génère un numéro pseudo-aléatoire entre 0 et Rand Max. Chaque fois que cette méthode est utilisée, elle utilise un algorithme qui donne une succession de nombres aléatoires. Nous ne pouvons pas considérer les nombres créés comme véritablement aléatoires car ils sont créés en utilisant un algorithme qui utilise une valeur de semence; Au lieu de cela, nous nous référons à des nombres comme des nombres pseudo-aléatoires.

Srand ()

La méthode srand () est fréquemment utilisée en combinaison avec la méthode rand (). Si la méthode srand () n'est pas utilisée, la graine Rand () est générée comme si SRAND (1) avait été utilisée plus tôt dans la configuration du programme. Toute autre valeur de semence fait commencer le générateur à un nouvel emplacement.

Notez que si vous utilisez Rand () pour produire des nombres aléatoires sans d'abord exécuter srand (), votre code générera la séquence des mêmes entiers à chaque fois qu'il fonctionne.

Exemple 1

Nous utilisons la méthode rand () pour générer des nombres aléatoires dans un tableau d'un entier. Tout d'abord, nous avons déclaré une variable «mynumber» avec le type de données entier. La variable «MyNumber» prend une valeur intégrale de l'utilisateur. Ensuite, nous avons un tableau entier «Rand» et sur la ligne suivante, nous avons un cycle pour Loop qui génère un nombre aléatoire sur chaque itération en utilisant la méthode Rand ().

Nous prenons la taille d'un tableau puis définissons un tableau de cette taille. La méthode rand () génère des nombres aléatoires, les divise par 10 et stocke le reste dans un tableau à une position spécifique. Le tableau sera imprimé après initialisation.

#inclure
Utilisation de Namespace Std;
int main()

int mynumber;
couter<<"Enter the array size number::";
cin >> mynumber;
int rand [mynumber];
pour (int r = 0; r Rand [r] = rand ()% 10;
couter<<"\nArray Elements::"<pour (int r = 0; rcouter<<"Number of Elements "<retour 0;

Le résultat de nombres aléatoires dans un tableau entier est illustré à l'image suivante.

Exemple 2

Comme discuté, Srand () définit la graine de la méthode Rand (). Nous avons construit la méthode pour remplir un tableau avec des valeurs aléatoires en utilisant la méthode srand () en C++. Tout d'abord, nous avons importé la bibliothèque intégrée C ++ «Temps.h ”qui renvoie l'horodatage actuel au moment où la fonction est appelée. En conséquence, nous pouvons nous assurer qu'une valeur distincte est donnée à la méthode srand () comme paramètre chaque fois que le programme est effectué.

Ensuite, nous avons une autre bibliothèque intégrée, «Stdlib.H ”à travers lequel nous pouvons accéder aux méthodes Rand et SRAND. Nous avons la fonction principale où le code est mis en action. Nous avons créé un tableau en tant que «tableau» d'une taille personnalisée. La taille du tableau sera spécifiée par l'utilisateur. Ensuite, nous avons utilisé la méthode SRAND et passé la valeur des semences «nul» dedans. Chaque fois que nous exécutons le programme, un ensemble de valeurs aléatoire et unique est généré au lieu des valeurs répétées.

Dans le bloc de For Loop, nous avons la méthode Rand () qui produira un nombre aléatoire dans chaque cycle de boucle. La commande cout imprimera le nombre aléatoire de la taille du tableau donné.

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

int snum;
couter<<"Enter number for array size: ";
cin >> snum;
Int Array [SNUM];
srand (temps (null));
pour (int s = 0; s
int no = rand ();
Array [s] = non;

pour (int s = 0; scouter<couter<retour 0;

Le résultat du nombre aléatoire de taille du tableau «4» s'affiche sur l'écran du terminal d'Ubuntu.

Exemple 3

Nous pouvons également générer des nombres aléatoires dans la plage. Dans le programme suivant, nous avons mis en œuvre la façon de remplir un tableau avec des entiers aléatoires à l'intérieur d'une gamme en C++. Nous avons créé un tableau comme «Arr» qui prendra la taille du tableau lorsqu'un utilisateur le saisira.

Ensuite, nous avons fixé le temps des semences pour «null» dans la méthode SRAND. À mesure que la méthode SRAND est utilisée, le programme créera des ensembles distincts de nombres aléatoires chaque fois qu'il est exécuté. Après cela, nous avons généré un nombre aléatoire dans la plage de 0 à 5. Nous utilisons les opérateurs du module 5 pour appeler la méthode Rand.

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

int Randnum;
couter<<"Enter the array size: ";
cin >> randnum;
int arr [randnum];
srand (temps (null));
pour (int i = 0; i
int rNumber = rand ()% 5;
Arr [i] = rNumber;

pour (int i = 0; icouter<couter<retour 0;

Comme vous pouvez le voir, le nombre aléatoire généré réside dans la plage de 0 à 5 dans la pièce suivante de l'image.

Exemple 4

Par défaut, la fonction rand () que nous avons vue avant renvoie un résultat entier, qui pourrait créer un débordement dans certains cas. En conséquence, nous pouvons utiliser un flotteur ou une double valeur en C++. Nous générerons les nombres aléatoires flottants dans l'exemple de code suivant en convertissant la valeur de retour de la fonction rand () en 'float'.

Au début, j'ai utilisé une fonction SRAND qui a passé un spécificateur de type de données non signé. Maintenant, seule la valeur non négative sera affichée, je.e., la valeur positive et zéro, et le temps de semence est défini sur null. Ensuite, nous avons une instruction pour Loop, qui bouclera le cycle aux 10 valeurs aléatoires. La commande cout lance le type de données flottantes en utilisant la méthode Rand.

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

couter<<"The Random numbers lies between 0 and 1:"<SRAND ((non signé) Time (null));
pour (int n = 0; n < 10; n++)

couter << (float) rand()/RAND_MAX << endl;

retour 0;

La sortie du programme est des nombres aléatoires qui se trouvent entre les valeurs 0 et 1, qui sont des fractions. Si nous ne jetons pas le résultat de retour de la méthode rand () à flotter, alors 0 sera obtenu comme nombre aléatoire.

Conclusion

Par conséquent, nous pouvons créer des nombres aléatoires en C ++ en utilisant les deux méthodes, Rand () et Srand (). La méthode srand () fournit la graine pour créer des nombres aléatoires, tandis que la méthode rand () fournit la séquence pour les nombres aléatoires suivants. Nous avons discuté des quatre codes d'illustration pour générer des nombres aléatoires en C++. Nous avons également montré comment remplir des entiers aléatoires dans un tableau dans une gamme.