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 :

acceder a des valeurs dans un tableau


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 43
    Par défaut acceder a des valeurs dans un tableau
    salut, debutant en cpp

    voila mon probleme j'ai un tableau d'objets panel qui on des coordonnees x et y
    j'aimerais afficher ces coordonnees. pouvez vous m'aider
    voila le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    //c.n est un integer
    // je crée un tableau de panel de taille N
    Panel** Panel_Array= new Panel*[c.N];
    	for (int i=0; i<c.N; i++) {
                    //J'instancie chaque case du tableau
    		Panel_Array[i] = new Panel(c.N, c.R, i);
    	}
     
            //ici j'essaye d'afficher la coordonnées x du premier panel mais ca bug
    	printf("a=%10.3f\n",Pan_Arr[0].get_X());
    le compilateur dit que la methode get_X() est appliqué a un Panel * alors qu'elle devrait s'appliquer a un Panel normalement

    merci d'avance

  2. #2
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 43
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Panel p=*Pan_Arr[0];
    	printf("a=%10.3f\n",p.Get_X());
    	printf("a=%10.3f\n",p.Get_Y());
    j'ai fait ca, ca a l'air de marcher!
    c'est commme ca qu'il faut faire?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    620
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 620
    Par défaut
    Et si tu transformes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("a=%10.3f\n",Pan_Arr[0].get_X());
    en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("a=%10.3f\n",Pan_Arr[0]->get_X());
    ?

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Bonjour,
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Panel** Panel_Array= new Panel*[c.N];
    	for (int i=0; i<c.N; i++) {
                    //J'instancie chaque case du tableau
    		Panel_Array[i] = new Panel(c.N, c.R, i);
    	}
    c'est pas terrible comme code... car beaucoup de gestion de mémoire inutile...
    Mais bon c'est normal tu début et tu as du faire du C avant
    Utilise plustôt un std::vector<Panel> ou si tu doit créer les panels dynamiquement un std::vector<Panel*>. Boot fournie un vector de pointeur.
    exemple avec std::vector<Panel *>:
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    std::vector<Panel *> Panel_Array(c.N);
    for (int i=0; i<c.N; i++) {
    		Panel_Array[i] = new Panel(c.N, c.R, i);//tu devra donc géré leurs destruction
    	}

    cette partie ne fonctionne pas
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("a=%10.3f\n",Pan_Arr[0].get_X());
    car Pan_Arr[0]est un pointeur de panel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("a=%10.3f\n",Pan_Arr[0]->get_X());
    Mais en c++ il faut mieux utiliser les stream :
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    std::cout<<std::setw(10)<<std::setprecision (3)<<Pan_Arr[0]->get_X()<<std::endl;
    Bon codage, et n'hesite pas à poser des questions si tu ne comprend pas. N'oublie pas de regarder la FAQ et de chercher dans le forum avant de poser une question

  5. #5
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 43
    Par défaut
    merci pour tous les conseils et le code.

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

Discussions similaires

  1. [WD10] Afficher des valeurs dans un tableau
    Par dj-julio dans le forum WinDev
    Réponses: 4
    Dernier message: 19/03/2014, 11h32
  2. Mettre à jour des valeurs dans un tableau
    Par espadon1 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/10/2006, 13h31
  3. ecrire des valeurs dans un tableau via formulaire
    Par kenny49 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 07/07/2006, 10h23
  4. [Tableaux]Ajouter des valeurs dans un tableau
    Par Antoine1183 dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 03/04/2005, 13h41
  5. Décaler des valeurs dans un tableau
    Par sh2003 dans le forum Langage
    Réponses: 6
    Dernier message: 20/03/2004, 16h01

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