chewbaka62
Messages postés67Date d'inscriptionmardi 1 novembre 2005StatutMembreDernière intervention30 juillet 2006
-
30 juil. 2006 à 12:06
chewbaka62
Messages postés67Date d'inscriptionmardi 1 novembre 2005StatutMembreDernière intervention30 juillet 2006
-
30 juil. 2006 à 16:32
Bonjour,
Voici un code qui devrait (en principe) me générer un très grand nombre aléatoire ( compris entre 0 et 2^n-1). Le problème, c'est que chaque fois que j'exécute ce code, il me sort constamment le même nombre! Pourriez-vous me dire ce qui cloche dans le code?
#include
#include <gmp.h>
#pragma comment (lib,"gmp.lib")
using namespace std;
int main()
{
gmp_randstate_t alea;
mpz_t nombre;
mpz_init(nombre);
int n;
cout << "Entrez un nombre quelconque:" << endl;
cin >> n;
gmp_randinit_mt(alea);
mpz_urandomb(nombre,alea,n);
gmp_printf("\n%Zd\n",nombre);
system("pause");
return 0;
}
Merci d'avance,
Chewbaka
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 30 juil. 2006 à 13:55
Pour mes tests j'ai mis gmp_randinit_default(alea); à la place de gmp_randinit_mt(alea); (car je n'avais pas gmp_randinit_mt). Ca vient peut être de la. En tous cas j'ai des valeur différentes a chaque fois
chewbaka62
Messages postés67Date d'inscriptionmardi 1 novembre 2005StatutMembreDernière intervention30 juillet 2006 30 juil. 2006 à 14:35
Non, ça ne change rien mais une petite question me vient à l'esprit: si je me trompe pas, la fonction time donne le nombre de secondes écoulées depuis le 01/01/1970. Ne faut'il alors inclure un fichier en-tête ( genre time.h) et qu'implique l'argument NULL sur la fonction time?
Merci d'avance