Hasard

cs_Xs Messages postés 368 Date d'inscription mercredi 14 novembre 2001 Statut Membre Dernière intervention 1 septembre 2008 - 2 juin 2002 à 21:56
cs_msrs Messages postés 4 Date d'inscription mardi 11 décembre 2007 Statut Membre Dernière intervention 8 avril 2009 - 11 déc. 2007 à 15:25
Salut !
Comment peut-on faire de maniere à ce qu'un nombre tiré au hasard, soit négatif ou positif
Et surtout, que le hasard soit vraiment hasard.

J'entend par la que lorsque que l'on tire plusieurs nombres consecutivement, il sont d'ordre croissants, enfin, généralmnt

****************************
Le C/C++ et une Veritable merveille !
****************************

9 réponses

cs_GoldenEye Messages postés 527 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 6 octobre 2008 4
3 juin 2002 à 00:03
-------------------------------
Réponse au message : #include <stdlib.h>

rand()%N renvoie un nombre entre 0 et N-1 inclus
-------------------------------

Salut !
Comment peut-on faire de maniere à ce qu'un nombre tiré au hasard, soit négatif ou positif
Et surtout, que le hasard soit vraiment hasard.

J'entend par la que lorsque que l'on tire plusieurs nombres consecutivement, il sont d'ordre croissants, enfin, généralmnt

****************************
Le C/C++ et une Veritable merveille !
****************************
0
cs_Xs Messages postés 368 Date d'inscription mercredi 14 novembre 2001 Statut Membre Dernière intervention 1 septembre 2008
3 juin 2002 à 07:49
Oui, je sais comment on fait le hasard, mais je voudrais q'il tire des nombres negatif ou des positif.

ex : qu'il tire des nombres entres -75 et 75.

ensuite, j'aimerais que le hasard soit "vrai".
c'est a dire que lorsque l'on regarde la courbe des nombres tirés au hasard, on ne s'apercoive pas que ca fait une droite...

****************************
Le C/C++ et une Veritable merveille !
****************************
0
cs_GoldenEye Messages postés 527 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 6 octobre 2008 4
3 juin 2002 à 09:36
-------------------------------
Réponse au message : Entre -75 et 75 inclus ça donne
rand()%151-75 si je dis pas de bêtises.
Pour ta deuxième question, je n'ai rien compris à cette histoire de droite. Si tu veux fabriquer ton propre générateur de nb aléatoires, amuse toi bien. Il existe plusieurs méthodes à l'aide de suites du genre
f(n+1)=f(n)modulo(A)
-------------------------------

Oui, je sais comment on fait le hasard, mais je voudrais q'il tire des nombres negatif ou des positif.

ex : qu'il tire des nombres entres -75 et 75.

ensuite, j'aimerais que le hasard soit "vrai".
c'est a dire que lorsque l'on regarde la courbe des nombres tirés au hasard, on ne s'apercoive pas que ca fait une droite...

****************************
Le C/C++ et une Veritable merveille !
****************************
0
cs_kjus Messages postés 269 Date d'inscription mercredi 24 avril 2002 Statut Membre Dernière intervention 9 juin 2003
3 juin 2002 à 10:32
au début il faut que tu mette
srand(time(NULL)); pour initialiser les nb aléatoires (en includant time.h), et la ca sera bcp mieux...
***raph***
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Xs Messages postés 368 Date d'inscription mercredi 14 novembre 2001 Statut Membre Dernière intervention 1 septembre 2008
3 juin 2002 à 17:09
mon code pour le hasard, il donne ca :

srand((unsigned)time(NULL))
variable = rand() % 75

donc, avec cela, j'obtiens des nombres au hasard
mais pas negatifs.

ensuite, je n'ai pas compris pourquoi rand()%151-75 ??

****************************
Le C/C++ et une Veritable merveille !
****************************
0
cs_kjus Messages postés 269 Date d'inscription mercredi 24 avril 2002 Statut Membre Dernière intervention 9 juin 2003
3 juin 2002 à 18:57
ensuite, je n'ai pas compris pourquoi rand()%151-75 ??

bah avec ca tu créé un nb aléatoire entre 0 et 151.
Or tu veux entre -75 et 75 : il y a autant de nb entre 0 et 150 qu'entre -75 et 75, il suffit de faire une translation pour obtenir entre -75 et 75.

d'ou le -75.

en gros : pour faire un nb aléatoire entre -x et x, on fait rand()%2x+1-x.

Pigé ?
***raph***
0
cs_Xs Messages postés 368 Date d'inscription mercredi 14 novembre 2001 Statut Membre Dernière intervention 1 septembre 2008
3 juin 2002 à 19:55
oui pigé chef !

****************************
Le C/C++ et une Veritable merveille !
****************************
0
cs_kjus Messages postés 269 Date d'inscription mercredi 24 avril 2002 Statut Membre Dernière intervention 9 juin 2003
3 juin 2002 à 20:30
tout va bien alors :p
***raph***
0
cs_msrs Messages postés 4 Date d'inscription mardi 11 décembre 2007 Statut Membre Dernière intervention 8 avril 2009
11 déc. 2007 à 15:25
slt, comment je peux manipuler la fonction random() sous linux pour qu'elle me génére les nombres négatifs? merci
0
Rejoignez-nous