Nombre aleatoire SANS rand
Résolu/Fermé
owengas
Messages postés
13
Date d'inscription
jeudi 6 décembre 2012
Statut
Membre
Dernière intervention
24 février 2013
-
14 févr. 2013 à 17:40
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 14 févr. 2013 à 21:20
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 14 févr. 2013 à 21:20
A voir également:
- Nombre aleatoire SANS rand
- Nombre facile - Télécharger - Outils professionnels
- Gto nombre episode ✓ - Forum Jeux vidéo
- Le nombre de tentatives de déverrouillage incorrectes est trop élevé samsung ✓ - Forum Samsung
- Tirage au sort excel aléatoire sans doublon ✓ - Forum Excel
- Kahoot gratuit nombre de participants - Forum Réseaux sociaux
3 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
14 févr. 2013 à 21:20
14 févr. 2013 à 21:20
Bonjour,
Tu peux utiliser la suite suivante
Un+1 = ( 1103515245 * Un + 12345 ) % 2147483647
Pour U0, tu peux prendre time(NULL); et voilà.
A chaque calcul, tu auras un nombre pseudo aléatoire.
C'est le générateur utilisé par Unix d'ailleurs.
Tu peux utiliser la suite suivante
Un+1 = ( 1103515245 * Un + 12345 ) % 2147483647
Pour U0, tu peux prendre time(NULL); et voilà.
A chaque calcul, tu auras un nombre pseudo aléatoire.
C'est le générateur utilisé par Unix d'ailleurs.
Hxyp
Messages postés
401
Date d'inscription
vendredi 28 janvier 2011
Statut
Membre
Dernière intervention
27 avril 2014
54
14 févr. 2013 à 18:38
14 févr. 2013 à 18:38
Bonjour,
Il vous faut une fonction qui génère un nombre différent à chaque appel de celle-ci comme le fait rand, ce n'est "aléatoire" que lorsqu'on y ajoute une valeur extérieur par exemple le temps avec time(NULL).
Pour que la fonction garde le nombre utilisez une variable static exemple :
à chaque appel de cette fonction n va s'incrémenter de 5 :
n=6
n=11
n=16
etc.
à vous de créer une formule pour remplacer n+5 par exemple en faisant un mix avec le temps ?
puis vous pourrez l'utiliser comme rand() : monrand()%4+1
Il vous faut une fonction qui génère un nombre différent à chaque appel de celle-ci comme le fait rand, ce n'est "aléatoire" que lorsqu'on y ajoute une valeur extérieur par exemple le temps avec time(NULL).
Pour que la fonction garde le nombre utilisez une variable static exemple :
int monrand(){ static unsigned int n=1; n=n+5; return n; }
à chaque appel de cette fonction n va s'incrémenter de 5 :
n=6
n=11
n=16
etc.
à vous de créer une formule pour remplacer n+5 par exemple en faisant un mix avec le temps ?
puis vous pourrez l'utiliser comme rand() : monrand()%4+1
owengas
Messages postés
13
Date d'inscription
jeudi 6 décembre 2012
Statut
Membre
Dernière intervention
24 février 2013
14 févr. 2013 à 18:55
14 févr. 2013 à 18:55
super merci beaucoup d'avoir pris du temps pour me repondre, c'est chouette
des bises
des bises