IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Réinitialiser srand() comme si il avait pas été initialisé


Sujet :

C++

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 93
    Points : 73
    Points
    73
    Par défaut Réinitialiser srand() comme si il avait pas été initialisé
    Bonjour à tous,

    J'ai un petit probleme assez cocasse, je souhaite annuler l'initialisation de srand() dans mon programme.

    Je m'explique. Je dois intégrer dans un programme un morceau d'algo dans lequel srand n'est pas initialisé mais dans le programme srand à deja été initialisé dans l'une des premieres fonctions utilisés. Or j'aimerai pouvoir "des-initialiser" srand() pour que si je mets les meme choses en entrée sur l'algo et sur le programme général ca me ressorte exactement le meme resultat et donc les comparer.

    En clair j'aimerai que si l'algo me genere comme suite aléatoire :
    256, 984, 62, 1075, 543, ......
    que le programme principale puisse me générer lui aussi :
    256, 984, 62, 1075, 543, ......

    Je sais que c'est à l'encontre de ce pourquoi est prevue srand() mais c'est le besoin que j'ai.

    Je vous remercie d'avance de votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 394
    Points : 473
    Points
    473
    Par défaut
    Réutilise la même graine pour initialiser srand.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 93
    Points : 73
    Points
    73
    Par défaut
    en re-initialisant la graine à chaque fois, avec srand(1), je tombe toujours sur la meme sequence MAIS ce ne pas la sequence sortie par l'algo non-initialisé. Pour cela il faudrait que je sache qu'elle est la graine par défaut.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 394
    Points : 473
    Points
    473
    Par défaut
    la graine par défaut est 1 (enfin sous Linux, je ne sais pas si tout ça est bien standard)
    Si ton algo donne une autre séquence, c'est que srand a été initialisé avec une graine particulière. Il n'existe pas à ma connaissance de fonction inverse qui permette à partir d'une séquence de retrouver la graine.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 93
    Points : 73
    Points
    73
    Par défaut
    Je te remercie VoidSeer, la graine initiale est bien 1.

    Ca n'a pas resolu mon probleme mais maintenant l'aleatoire correspondra.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 26
    Dernier message: 10/10/2011, 13h53
  2. Réponses: 1
    Dernier message: 15/06/2008, 23h56
  3. Comme "Texte*" ne fonctionne pas en VBA?
    Par NewbiePower dans le forum Access
    Réponses: 3
    Dernier message: 07/12/2006, 10h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo