Nb Aléatoire sans rand() [Résolu]

Signaler
Messages postés
95
Date d'inscription
vendredi 14 janvier 2005
Statut
Membre
Dernière intervention
4 mars 2013
-
Messages postés
95
Date d'inscription
vendredi 14 janvier 2005
Statut
Membre
Dernière intervention
4 mars 2013
-
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

Messages postés
1054
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
6
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
Messages postés
29
Date d'inscription
samedi 1 décembre 2007
Statut
Membre
Dernière intervention
11 avril 2010

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.
Messages postés
95
Date d'inscription
vendredi 14 janvier 2005
Statut
Membre
Dernière intervention
4 mars 2013

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