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 :

C++ Probl�me tableaux


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    36
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 36
    Par d�faut C++ Probl�me tableaux
    Bonjour � tous, voici donc mon probl�meje suis sous visual studio 2005)

    tout d'abord mon code:

    hello.cpp:
    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
    #include <iostream>
    #include "Grille.h"
    using namespace std;
     
    int main()
    {
    	Grille g();
    	g.remplirGrille();
    	int i, j;
    	for(i=0;i<10;i++){
    		for(j=0;j<10;j++){
    			cout<<g.getTab();
    		}
    		cout<<endl;
    	}
    	return 0;
    }
    grille.h:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include <string>
    #include "add.h"
    using namespace std;
    class Grille{
    	public:
    		Grille();
    		int** tab;
    		void setTab(int i, int j, int x);
    		int** getTab();
    		void remplirGrille();
    };
    grille.cpp:
    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
    #include "grille.h"
     
    Grille::Grille(){
    	tab;
    }
     
    void Grille::setTab(int i, int j, int x){
    	tab[i][j]=x;
    }
     
    int** Grille::getTab(){
    	return tab;
    }
     
    void Grille::remplirGrille(){
    	int i, j;
    	for(i=0;i<10;i++){
    		for(j=0;j<10;j++){
    			setTab(i, j, 9);
    		}
    	}
    }
    et voici les 2 erreurs que j'obtiens lors de la compilation:

    erreur n�1:
    hello.cpp(8): error C2228: left of '.getGrille' must have class/struct/union type

    erreur n�2:
    hello.cpp(12): error C2228: left of '.getTab' must have class/struct/union type
    type is 'overloaded-function'

    Comme vous l'aurai surement compris j'ai cr�� une class Grille avec un constructeur par defaut qui me cr�� une grille contenant un tableau � deux dimension. Cette class poss�de un acc�sseur getTab qui permet de retourner le tableau a deux dimention, un modificateur setTab(i,j,x) qui donne x comme valeur � tab[i][j] et enfin la classe poss�de une m�thode remplirGrille qui rempli tout mon tableau avec la valeur 9.
    Mon main.cpp cr�� une grille g puis execute la methode remplirGrille et enfin affiche tout les valeurs de mon tableau soit:
    9999999999
    9999999999
    9999999999
    9999999999
    9999999999
    9999999999
    9999999999
    9999999999
    9999999999
    9999999999
    H�las chez moi cela ne compil pas (normal �a doit etre mal cod�).
    Je remerci donc par avance tout ceux qui pourront m'apporter de l'aide.

  2. #2
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    Ca c'est la d�claration d'une fonction g renvoyant un objet de type Grille et ne prenant aucun param�tre.

    Ca par contre c'est bien la d�claration d'un objet g de type Grille.

  3. #3
    Membre �clair�
    Inscrit en
    Mai 2005
    Messages
    73
    D�tails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 73
    Par d�faut
    Tout d'abord, ta d�claration d'une grille n'est pas bonne, tu d�clares une fonction au lieu d'une variable (voir la FAQ).

    Ensuite, ton getTab renvoie un int**, si tu veux afficher le contenu de ton tableau tu dois donc �crire

    (ou mieux �crire une m�thode qui prend des coordonn�es en param�tres).

    D'autre part, � aucun moment tu n'alloues de la m�moire pour ta grille. Dans ton constructeur, la ligne

    ne veut rien dire, il faut r�server un espace m�moire � l'aide de new :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    tab = new int*[10];
     
    for (int i = 0 ; i < 10 ; i++)
        tab[i] = new int[10];
    (Voir encore la FAQ). Cependant, si ta grille est toujours de taille 10x10, il est plus judicieux de ne pas utiliser d'allocation dynamique mais plut�t statique, c'est-�-dire d�clarer tab dans ta classe Grille comme ceci :


Discussions similaires

  1. Probl�me tableaux dynamiques
    Par Vince dans le forum C++
    R�ponses: 6
    Dernier message: 04/03/2009, 17h08
  2. [Probl�me]Tableaux deux dimensions
    Par maloute80 dans le forum Langage
    R�ponses: 4
    Dernier message: 14/12/2007, 14h31
  3. R�ponses: 4
    Dernier message: 20/06/2007, 17h34
  4. Probl�mes tableaux IE
    Par shadokk dans le forum Mise en page CSS
    R�ponses: 3
    Dernier message: 19/12/2006, 14h23
  5. Probl�mes tableaux !
    Par Franck.H dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 6
    Dernier message: 09/08/2006, 12h51

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