Riempi l'array con numeri casuali c ++

Riempi l'array con numeri casuali c ++
Gli array vengono utilizzati per contenere gli elementi con lo stesso tipo di dati in aree di memoria sequenziale. Possiamo facilmente creare array di vari tipi di dati in C++. In questo articolo, lavoreremo sulla creazione di un array casuale contenente numeri casuali in c++. Quindi ti aiuterà a creare numeri casuali e archiviare il numero associato in un array. Useremo la libreria C ++ per creare numeri casuali, che useremo per popolare il nostro array.

Metodi per generare numeri casuali in C++

Il linguaggio di programmazione C ++ include un generatore di numeri pseudo-random integrato e due metodi per generare numeri casuali: Rand () e Srand (). Passiamo in profondità i metodi Rand () e Srand ().

Rand ()

Per ottenere un numero casuale, utilizziamo il metodo Rand (). Se invocata, la funzione Rand () in C ++ genera un numero pseudo-casuale tra 0 e Rand Max. Ogni volta che viene utilizzato questo metodo, utilizza un algoritmo che fornisce una successione di numeri casuali. Non possiamo considerare i numeri creati come veramente casuali perché sono creati utilizzando un algoritmo che impiega un valore di seme; Invece, ci riferiamo a tali numeri come numeri pseudo-casuali.

Srand ()

Il metodo Srand () è spesso usato in combinazione con il metodo Rand (). Se il metodo Srand () non viene utilizzato, il seme Rand () viene generato come se Srand (1) fosse stato utilizzato in precedenza nella configurazione del programma. Qualsiasi altro valore di seme fa sì che il generatore inizi in una nuova posizione.

Si noti che se si utilizza Rand () per produrre numeri casuali senza prima eseguire srand (), il codice genererà la sequenza degli stessi interi ogni volta che esegue.

Esempio 1

Stiamo usando il metodo Rand () per generare numeri casuali in una matrice di un numero intero. Innanzitutto, abbiamo dichiarato una variabile "mynumber" con il numero intero dei dati. La variabile "mynumber" prende un valore integrale dall'utente. Quindi, abbiamo un array intero "rand" e sulla riga successiva, abbiamo un ciclo per loop che genera un numero casuale su ogni iterazione usando il metodo Rand ().

Prendiamo una taglia di un array e quindi definiamo un array di quella dimensione. Il metodo Rand () genera numeri casuali, li divide per 10 e memorizza il resto in un array in una posizione specifica. L'array verrà stampato dopo l'inizializzazione.

#includere
Utilizzo dello spazio dei nomi std;
int main ()

int mynumber;
cout<<"Enter the array size number::";
CIN >> mynumber;
int rand [mynumber];
per (int r = 0; r Rand [r] = rand ()%10;
cout<<"\nArray Elements::"<per (int r = 0; rcout<<"Number of Elements "<restituzione 0;

Il risultato di numeri casuali in un array intero è mostrato nella seguente immagine.

Esempio 2

Come discusso, Srand () imposta il seme per il metodo Rand (). Abbiamo costruito il metodo per riempire un array con valori casuali usando il metodo srand () in c++. Prima di tutto, abbiamo importato la libreria integrata C ++ "Tempo.h ”che restituisce il timestamp corrente al momento viene chiamata la funzione. Di conseguenza, possiamo assicurare che venga dato un valore distinto al metodo Srand () come parametro ogni volta che viene eseguito il programma.

Quindi, abbiamo un'altra libreria integrata, "stdlib.h "attraverso i quali possiamo accedere ai metodi Rand e Srand. Abbiamo la funzione principale in cui il codice viene messo in azione. Abbiamo creato un array come "array" di dimensioni personalizzate. La dimensione dell'array sarà specificata dall'utente. Successivamente, abbiamo usato il metodo Srand e abbiamo superato il valore del seme "null" in esso. Ogni volta che eseguiamo il programma, viene generato un insieme casuale e unico di valori anziché i valori ripetuti.

Nel blocco di per loop, abbiamo il metodo Rand () che produrrà un numero casuale in ciascun ciclo di loop. Il comando Cout stamperà il numero casuale della dimensione dell'array fornita.

#includere
#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

int snum;
cout<<"Enter number for array size: ";
CIN >> SNUM;
Int Array [Snum];
srand (tempo (null));
per (int s = 0; s
int no = rand ();
Array [s] = no;

per (int s = 0; scout<cout<restituzione 0;

Il risultato del numero casuale di dimensioni dell'array "4" viene visualizzato sullo schermo del terminale di Ubuntu.

Esempio 3

Possiamo anche generare numeri casuali all'interno dell'intervallo. Nel seguente programma, abbiamo implementato il modo per riempire un array con numeri interi casuali all'interno di un intervallo in C++. Abbiamo creato un array come "arr" che prenderà le dimensioni dell'array quando un utente lo inserisce.

Quindi, abbiamo impostato i tempi di seme su "null" nel metodo Srand. Poiché viene utilizzato il metodo Srand, il programma creerà set distinti di numeri casuali ogni volta che viene eseguito. Dopo questo, abbiamo generato un numero casuale nell'intervallo da 0 a 5. Usiamo gli operatori del modulo 5 per chiamare il metodo RAND.

#includere
#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

int Randnum;
cout<<"Enter the array size: ";
CIN >> Randnum;
int arr [Randnum];
srand (tempo (null));
per (int i = 0; i
int rnumber = rand ()%5;
Arr [i] = rnumber;

per (int i = 0; icout<cout<restituzione 0;

Come puoi vedere, il numero casuale generato si trova nell'intervallo da 0 a 5 nel seguente pezzo dell'immagine.

Esempio 4

Per impostazione predefinita, la funzione Rand () che abbiamo visto prima di restituire un risultato intero, che potrebbe creare un overflow in alcuni casi. Di conseguenza, possiamo utilizzare un galleggiante o un doppio valore in C++. Genereremo i numeri casuali galleggianti nel seguente codice di esempio convertendo il valore di ritorno della funzione Rand () in "galleggiante".

Inizialmente, ho usato una funzione Srand che ha superato un specificatore di tipo di dati non firmato. Ora verrà visualizzato solo il valore non negativo.e., il valore positivo e zero e il tempo di seme impostato su NULL. Quindi, abbiamo un'istruzione per loop, che love del ciclo ai 10 valori casuali. Il comando Cout lancia il tipo di dati float utilizzando il metodo RAND.

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

cout<<"The Random numbers lies between 0 and 1:"<srand ((non firmato) tempo (null));
per (int n = 0; n < 10; n++)

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

restituzione 0;

L'output del programma è numeri casuali che si trovano tra i valori 0 e 1, che sono frazioni. Se non lanciamo il risultato di ritorno del metodo Rand () per fluttuare, allora 0 verrà ottenuto come numero casuale.

Conclusione

Pertanto, possiamo creare numeri casuali in C ++ utilizzando i due metodi, Rand () e Srand (). Il metodo srand () fornisce il seme per la creazione di numeri casuali, mentre il metodo rand () fornisce la sequenza per i numeri casuali successivi. Abbiamo discusso dei quattro codici di illustrazione per generare numeri casuali in c++. Abbiamo anche mostrato come popolare numeri interi casuali in un array all'interno di un intervallo.