Rand()

Signaler
Messages postés
36
Date d'inscription
jeudi 26 juin 2003
Statut
Membre
Dernière intervention
11 septembre 2005
-
Messages postés
117
Date d'inscription
samedi 12 avril 2003
Statut
Membre
Dernière intervention
8 septembre 2008
-
J'ai besoin dans mon prog d'une fonction de chiffres aéolatoires plus puissante ke rand(). Je sais que la fonction random() de VB6 est très puissante si quelqu'un à une idée de l'algo. utilisé.
Merci d'avance.

9 réponses

Messages postés
114
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
28 juin 2004

Salut tu veu une fonction plus puissante en quoi ?

je croi k'il n'y a que rand(); pour faire des nombre aleatoir, et pour que sa soir plus aleatoir mes la sur l'heur.
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
11
qu'est ce que tu entend pas plus puissante que rand()?
Bob...

"La chance accorde ses faveur aux esprits avertis..."
Messages postés
36
Date d'inscription
jeudi 26 juin 2003
Statut
Membre
Dernière intervention
11 septembre 2005

quand je dit + puissant c une fonction plus aéolatoire ke
rand() parsque rand() me crée toujours les mêmes chiffres.
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
11
question: comment utilise tu la fonction rand?
Bob...

"La chance accorde ses faveur aux esprits avertis..."
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
c'est clair, tu programmes sans ragarder les doc, comment tu peux avoir la pretention de critiquer rand a ton niveau ??
Messages postés
114
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
28 juin 2004

Mes
srand((unsigned) time(NULL));
avant d'utilisé la fonction rand, sa la parametre sur la date.
Messages postés
688
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
19 mai 2005

Si j'ai bien compris voila comment creé la fonction rand()
// var gloable
int m_dwRand;

int MyRand()
{
m_dwRand = m_dwRand * 214013L + 2531011L;
return (m_dwRand>>16)
}

Life is Short 8-)
Messages postés
688
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
19 mai 2005

Si j'ai bien compris voila comment creé la fonction rand()
// var gloable
int m_dwRand;

int MyRand()
{
m_dwRand = m_dwRand * 214013L + 2531011L;
return (m_dwRand>>16)
}

Life is Short 8-)
Messages postés
117
Date d'inscription
samedi 12 avril 2003
Statut
Membre
Dernière intervention
8 septembre 2008

Je comprend bien le problème, le truc c'est que l'ordinateur est logique et qu'il ne sais pas vraiment faire de l'aléatoire...

L'aléatoire fait parti du domaine du Chaos ( c'est un grand mot juste pour dire qu'on sait pas coment ça marche ).

Une manière simple de faire du pseudo aléatoire, c'est de générer un nombre premier grand ( 1000 caractères devraient suffirent ) et de les parcourrirs dans l'ordre en commençant par une position dépendante du temps à laquelle on a initialisé le générateur de nombre aléatoire.

Pour générer un grand nombre premier rapidement, je te conseil la librairie GMP.

>:) Stéph >:)