Fortran: Générateur de nombres aléatoires
Résolu/Fermé
Mangeurdespin
-
8 mars 2009 à 18:33
Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009 - 8 mars 2009 à 18:51
Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009 - 8 mars 2009 à 18:51
A voir également:
- Fortran: Générateur de nombres aléatoires
- Compilateur fortran windows 10 ✓ - Forum Programmation
- Fortran runtime error: end of file - Forum Programmation
- Fortran - Forum Linux / Unix
- Télécharger fortran 95 gratuit - Forum Programmation
- Comment installer un compilateur fortran svp - Forum Autres distributions Linux
1 réponse
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 832
8 mars 2009 à 18:51
8 mars 2009 à 18:51
Salut
Effectivement, la séquence de nombres générée est toujours la même. Ce qui m'avait paru bizarre à l'époque, c'est que sous Unix j'avais aucun souci, mais le jour où on est passé à Linux, ben la séquence était toujours la même. Peut-être que le compilateur était différent... va savoir...
T'as des explications ici :
http://infohost.nmt.edu/tcc/help/lang/fortran/random.html
http://infohost.nmt.edu/tcc/help/lang/fortran/seed.html
Donc pour avoir une séquence différente, faut appeler la fonction rand() avant la fonction random avec un argument différent à chaque fois.
Si tu veux vraiment un truc "aléatoire" à chaque exécution du code, tu peux faire comme ils le suggèrent sur la page (de toute façon, à part comme ça, je vois pas trop comment on pourrait faire d'autre... :-D), c'est-à-dire appeler rand() avec un argument qui dépend du temps. C'est ce que j'avais fait aussi...
Bonne soirée
Effectivement, la séquence de nombres générée est toujours la même. Ce qui m'avait paru bizarre à l'époque, c'est que sous Unix j'avais aucun souci, mais le jour où on est passé à Linux, ben la séquence était toujours la même. Peut-être que le compilateur était différent... va savoir...
T'as des explications ici :
http://infohost.nmt.edu/tcc/help/lang/fortran/random.html
http://infohost.nmt.edu/tcc/help/lang/fortran/seed.html
Donc pour avoir une séquence différente, faut appeler la fonction rand() avant la fonction random avec un argument différent à chaque fois.
Si tu veux vraiment un truc "aléatoire" à chaque exécution du code, tu peux faire comme ils le suggèrent sur la page (de toute façon, à part comme ça, je vois pas trop comment on pourrait faire d'autre... :-D), c'est-à-dire appeler rand() avec un argument qui dépend du temps. C'est ce que j'avais fait aussi...
Bonne soirée