Nb Aléatoire sans rand()

Résolu
badboy38 Messages postés 95 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 4 mars 2013 - 4 févr. 2009 à 16:55
badboy38 Messages postés 95 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 4 mars 2013 - 4 févr. 2009 à 22:32
Bonjour,

je viens de "feuilleter" le forum à la recherche de la perle rare, mais..... enfin, voila mon problème: je dois générer un nombre aléatoire entre 3 et 15 MAIS (parce que sans mais c'est pas marrant) sans utiliser la fonction rand() ou consort (qui sont dans une librairie). En effet, mon code doit être exécuté par un PIC (microcontroleur) et non par mon PC, et je n'ai pas la mémoire nécessaire pour installer une librairie....
est ce que quelqu'un aurai une idée de l'algorithme à mettre en place?...?

d'avance merci








BadBoy38 

3 réponses

Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
4 févr. 2009 à 20:42
Salut
J'ai retrouvé, sur ce site, une façon de programmer la fonction rand dans une source de JCDjcd.
Tu la trouvera la:  http://files.codes-sources.com/fichier.aspx?id=44584&f=math.c
A+
____________________________________________________________________________
Mon site internet :  http://ImAnalyse.free.fr
3
cs_goodboy21 Messages postés 29 Date d'inscription samedi 1 décembre 2007 Statut Membre Dernière intervention 11 avril 2010
4 févr. 2009 à 22:05
tu peux utiliser la fonction GetTickCount qui te retourneras le nombre de millisecondes depuis que le pc est allumé et ensuite tu prends le modulo 13 de la fonction auquel tu ajoute 3 pour avoir ton nombre aléatoire entre 3 et 15.
bien entendu ce sera du pseudo-aléatoire:
int aleat=GetTickCount()%13 +3;
GetTickCount()%13 te retourne un nombre entre 0 et 12 et en ajoutant 3 tu obtiens ton nombre aléatoire entre 3 et 15.
0
badboy38 Messages postés 95 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 4 mars 2013
4 févr. 2009 à 22:32
merci pour vos réponses

je me suis servi de la source de JCDjcd, en fait de l'idée de construction. Un tableau de quelques nombres aléatoires incrusté dans la ROM du PIC avant de lancer le programme, puis on fait un cycle. Certes il n'y a que 10 nombres aléatoires, mais ça suffit pour mon application.

bon codage à tous
BadBoy38 
0
Rejoignez-nous