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++?