Fonction aléatoire Dev c++
LeBzul
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je travaille en mode console sous DevC++, et j'aimerais remplir certaines case d'un tableau à 2 dimensions par une valeur unique, la "position" de cette valeur étant donné par la fonction aléatoire. Cette dernière tourne en boucle pour remplir le tableau petit à petit.
Pour faire cela, j'utilise la fonction rand(), mais le problème est qu'il me re-sort exactement les mêmes positions, dans le même ordre, a chaque fois que je relance mon programme.
Voila ce que j'ai fait :
hb=int(rand()%21)+1;
lb=int(rand()%30)+2;
ou :
hb = ((1 + (int) ((double) rand() * (21) / (RAND_MAX+1)))+1);
lb = ((1 + (int) ((double) rand() * (30) / (RAND_MAX+1)))+1);
Le soucis est le même dans les 2 cas.. :/
Une idée ?
je travaille en mode console sous DevC++, et j'aimerais remplir certaines case d'un tableau à 2 dimensions par une valeur unique, la "position" de cette valeur étant donné par la fonction aléatoire. Cette dernière tourne en boucle pour remplir le tableau petit à petit.
Pour faire cela, j'utilise la fonction rand(), mais le problème est qu'il me re-sort exactement les mêmes positions, dans le même ordre, a chaque fois que je relance mon programme.
Voila ce que j'ai fait :
hb=int(rand()%21)+1;
lb=int(rand()%30)+2;
ou :
hb = ((1 + (int) ((double) rand() * (21) / (RAND_MAX+1)))+1);
lb = ((1 + (int) ((double) rand() * (30) / (RAND_MAX+1)))+1);
Le soucis est le même dans les 2 cas.. :/
Une idée ?
A voir également:
- Fonction aléatoire Dev c++
- Fonction si et - Guide
- Dev c++ - Télécharger - Langages
- Massgrave dev - Accueil - Windows
- Dev home. - Télécharger - Développement
- Dev pascal - Télécharger - Édition & Programmation
Lorsque tu résous un problème par toi-même, fais en profiter le forum ;)
Là en l'occurrence, j'imagine que c'est car tu avais oublié srand(time(NULL)).
Sinon, je te conseille ta deuxième formule pour l'utilisation d'un nombre pseudo aléatoire compris entre deux nombres.
La première formule ne donne pas rigoureusement la même probabilité d'apparitions des nombres.
Cdlt