Generare numero casuale (tra due interi) , genera sempre la stessa sequenza?

di il
5 risposte

Generare numero casuale (tra due interi) , genera sempre la stessa sequenza?

Sto implementando un codice in una parte del quale ho le seguenti righe:

x=(rand()%10);
if(x>=0&&x<5)
accettata=true;

Ciò che volevo era che il software generasse un numero casuale tra 0 e 9 e dopodiché qualora quel numero fosse stato compreso tra 0 e 5 , cambiasse il valore di accettata in true.

Queste righe sono scritte in un while che esce soltanto se accettata==true oppure se il tentativo di generazione viene effettuato tre volte (con un contatore faccio cont++ prima della chiusura del while).

Ora qual'è il punto, quando andavo a far partire il programma notavo che il risultato era sempre lo stesso..in particolare andando ad inserire un cout<<x prima dell'if ho visto che la sequenza di numeri è sempre 5,10,11.

Qualcuno sa spiegarmi il perché? C'è un modo più efficiente per generare numeri casuali (sempre diversi) tra due intervalli in c++?

5 Risposte

Devi accedere o registrarti per scrivere nel forum
5 risposte