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 :

probleme de variable aleatoire


Sujet :

C

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Points : 6
    Points
    6
    Par défaut probleme de variable aleatoire
    bonjour je vous ecris car j'ai un probleme avec mes variables aleatoires.
    Je voudrais a l'aide de ma fonction, ranger dans un tableau plusieurs nombres aleatoire.

    voici un imprim ecran de ce que j'obtient avec mes printf

    7
    7 7 7 7 7 7 7 la solution contient 7 caracteres


    le premier 7 est le nombre aleatoire que je met en entrer de ma fonction qui correspond au nombre de chiffre qui sont rangé dans le tableau.

    les 7 sept suivant sont les nombre aleatoire que j'essaille de generer ensuite pour remplir le tableau. ( il faudrait qu'il soit different)

    voici le code de ma fonction pour generer mon nombre aleatoire correspondant au nombre de caractere
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    int recherchenombrealeatoire()
    {
        const int MAX = 10, MIN = 1;//necessaire pour generer le nombre aleatoire pour les mots
        int nombrealeatoire = 0;
     
        srand(time(NULL));
        nombrealeatoire = (rand() % (MAX - MIN + 1)) + MIN;
        return nombrealeatoire;
    }
    nombrealeatoire= recherchenombrealeatoire();
    et voici le code de ma fonction qui doit ranger des nombres aleatoires dans mon tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    int cpucreercode(int nombrealeatoire)
    {
    const int MAX = 10, MIN = 1;//necessaire pour generer le nombre aleatoire pour les mots
    int i =0;
    int nombre[10] = {0};
    printf ("%ld\n",nombrealeatoire);
     
    for (i=0 ; i<nombrealeatoire; i++)
    {
    srand(time(NULL));
    nombre[i] = (rand() % (MAX - MIN + 1)) + MIN;
     
    }
    for (i=0 ; i<nombrealeatoire; i++)
    printf ("%d ",nombre[i]);
    printf ("la solution contient %d caracteres\n",nombrealeatoire);
     return nombre;
     
    }
    Si vous aviez une idée de la provenance du probleme cela m'aiderait bcp car la j'avoue etre un peu depassé.

    Je vous remercie d'avance

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    La fonction srand() doit être appelée une seul fois (en début de programme) et certainement pas à chaque fois comme tu le fais.

    En fait, là, tu réinitialises ton générateur aléatoire à chaque fois avec le temps courant et comme ton programme va très vite (moins de 1 seconde), tu réutilise la même valeur pour initialiser ton générateur et donc tu génères toujours les mêmes valeurs.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    effectivement si je ne rappelle pas le srand a chaque fois, j'obtient un nombre different. C'est une erreur un peu bete.

    encore merci ram-0000

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

Discussions similaires

  1. Probleme de variable entre SQL et Php
    Par copin dans le forum Langage SQL
    Réponses: 6
    Dernier message: 17/06/2005, 10h58
  2. Réponses: 10
    Dernier message: 03/05/2005, 21h57
  3. [langage] Probleme de variable transfert de contenu
    Par Ludo167 dans le forum Langage
    Réponses: 10
    Dernier message: 08/07/2004, 11h40
  4. [algo]probleme de variables hotes ds un insert
    Par omega dans le forum Langage SQL
    Réponses: 2
    Dernier message: 16/03/2004, 09h03
  5. Réponses: 2
    Dernier message: 04/01/2004, 15h14

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