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


Sujet :

C++

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Par défaut probleme de variable
    Salut, je débute dans le C++ et voila un probleme que je n'arrive pas a debugger

    l'objet courant est sorted_nodes[i], un noeud qui correspond à l'ensemble des infos contenus dans un pixel d'une image.ppm.
    ces noeuds sont classés dans l'ordre croissant de leur niveau de gris.

    sorted_nodes[i] contient x et y sont les abs et ordonnées du pixel que decrit le noeud et également les pointeurs vers les 4 noeuds qui decrivent les pixels voisins du pixel de sorted_nodes[i]

    je construit un arbre sur la base des sorted_nodes qui est fonction du niveau de gris. les pixels les plus clairs rentreront en premier, etc.


    Alors imagine 2 noeuds VOISINS géographiquement i.e. nodes1 (x,y) et nodes2 (x,y+1)
    imagine que j'ai leur indice respectif dans sorted_nodes[].
    lorsque je fais afficher leur index respectif (index c'est la valeur qui correspond au rang d'entrée dans mon arbre)
    avec sorted_nodes[..].GetIndex() j'ai des valeurs non nulles i1 et i2 donc tout va bien.

    LE PROBLEME :

    lorsque je demande d'afficher l'index du voisin de node1 (qui est i2, index de nodes2, tu me suis) et ben il me renvois 0 !
    En fait j'ai regardé les variables dans le debug, tous les indices i des voisins de sorted_nodes[...] sont à 0 ! sinon toutes les autres variables sont normales (comme X Y ou I l'intensité) ya juste index qui bug.
    et quand le sorted_nodes courant devient le voisin de l'ancien sorted_nodes courant il m'affiche la bonne valeur de i ?????
    C'est comme si les noeuds se dédoublaient quoi.

    Si t'as des idées...


    merci pour votre aide si vous comprenez...

  2. #2
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Sans un code minimal qui reproduit le problème...
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  3. #3
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Par défaut
    ok voici les bouts de code

    dans la classe Image :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    int Image::MakeTree(){
     
    	......
             sorted_nodes[i].MakeSet(l,&(sorted_nodes[i]));
            ...
    	// for each neighbor of the current node (there are 4 neighbors), we do Union 
                               for (int n=0;n<4;n++){
    		                  sorted_nodes[i].Union(n);	
    				}
            ...
    	return SUCCESS;
    }
    dans la classe Node :

    void Node::MakeSet(int index, Node* aNode){
    aNode->m_index=index+1;//c'est ici qu'on change la valeur de index, j'ai vérifié ça marche.
    parent=this;
    }

    int Node::Union(int n){

    //lors de l'execution, on ne rentre jamais dans ce "if car m_index de neighbor est tjrs nulle !" c'est ça mon bug
    if (this->neighbor[n]->m_index()!=0){
    ......
    }
    [/CODE]
    j'espère que c'es plus clair maintenent

    merci en tout cas

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