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 :

Démineur : problème avec la fonction rand


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 95
    Points : 52
    Points
    52
    Par défaut Démineur : problème avec la fonction rand
    Bonjour,
    je me suis lancé dans la programmation d'un démineur. J'ai commencé à écrire les sous-programmes mais quand je compile, un message d'erreur me dit que la fonction rand n'est pas déclarée alors que j'ai bien ouvert le time.h
    Je vous écris le sous programme où la fonction rand me dait un bug, merci de bien vouloir m'aider

    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
    20
    21
    22
    23
     
    #include <iosream>
    #include <string.h>
    #include <time.h>
    using namespace std;
    #define TAILLE_X 4
    #define TAILLE_Y 4
    #define NB_MINES 1
     
     
    void pose_bombe(struct case_grille Grille_Jeux[TAILLE_X+2][TAILLE_Y+2])
    {
         int i,j,cpt;
         for(cpt=1;cpt<=NB_MINES;cpt++){
                                        do
                                          {
                                           i=rand()%TAILLE_X+1;
                                           j=rand()%TAILLE_Y+1;
                                           }
                                         while(Grille_Jeux[i][j]!=0)
                                         Grille_Jeux[i][j].valeur=-1;
                                        }
    }

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut,
    Si tu veux faire du C++, utilises les en-têtes C++ : #include <time.h> => #include <ctime>

    Pour des chaînes de caractères : std::string et #include <string>

    Pour des tableaux : std::vector pour les tableaux dynamiques (ou tr1::array ou std::array si ton compilateur a TR1 ou C++0x, ou encore boost::array pour les tableaux de tailles fixes)

    rand est dans #include <cstdlib>

    évites les using namespace std;

    En général, on préfère les intervalles fermés à gauche et ouvert à droite. Autrement dit, ton for devrait s'appuyer sur un '<' et non un '<=' (à toi de construire tes bornes en fonction de ça). Tous les algos de la STL sont construits sur ce principe. Cela permet surtout de représenter l'ensemble vide (begin()==end()) ce que ne permettent pas les intervalles fermés des 2 côtés.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 95
    Points : 52
    Points
    52
    Par défaut
    Merci pour ces précisions.
    Je remplace par quoi le "using namespace std" ?
    Mais je comprends pas, ces entêtes marchaient avant que je programmais, je comprends pas pourquoi elles ne marchent plus

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 95
    Points : 52
    Points
    52
    Par défaut
    C'est bon j'ai trouvé le problème, merci pour l'aide

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

Discussions similaires

  1. Problème avec une fonction date.
    Par kmayoyota dans le forum ASP
    Réponses: 8
    Dernier message: 09/09/2004, 12h33
  2. Problème avec la fonction findfirst ()
    Par Angelico dans le forum Windows
    Réponses: 3
    Dernier message: 05/08/2004, 20h40
  3. [Requete SQL en VBA] Problème avec la fonction FLOOR
    Par zubral dans le forum Langage SQL
    Réponses: 4
    Dernier message: 13/07/2004, 13h24
  4. Problème avec les fonctions
    Par jvachez dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/01/2004, 12h06
  5. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04

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