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 :

changer la position de 2 noeuds


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2006
    Messages : 49
    Par défaut changer la position de 2 noeuds
    bonjour ;
    bon voila mon probleme je veut echanger la position des deux noued ieme et jeme alors j'ai ponsé a faire comme suite mais rien ne se passe
    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
    24
    pnoued *recherch(int i)
    { int a;
      pnoued temp;
    temp=tete;
      while(temp!=NULL && a<i)
         {  a++;
    	temp=temp->suiv;
          }
    return(&temp);
    }
     
    /*////////////////////////////////*/
    void inver(pnoued *i,pnoued *j)
    { pnoued temp1;
     
      temp1=(*i)->suiv;
      (*i)->suiv=(*j)->suiv;
      (*i)->suiv=temp1;
     
      temp1=*i;
      *i=*j;
      *j=temp1;
     
    }
    et a l'appel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    inver(recherch(i),recherch(j));
    merci pour votre aide

  2. #2
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Faudrait d'abord qu'on sache ce qu'est un noeud (et un pnoeud)

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2006
    Messages : 49
    Par défaut
    desolé j'ai oublié
    voila ma structure de base
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    typedef struct cellule
    	{
    	  int data;
    	  struct cellule *suiv;
    	}noud;
    typedef noud *pnoued;

  4. #4
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Citation Envoyé par lachose
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    void inver(pnoued *i,pnoued *j)
    { pnoued temp1;
      
      temp1=(*i)->suiv;
      (*i)->suiv=(*j)->suiv;
      (*j)->suiv=temp1;
    
      temp1=*i;
      *i=*j;
      *j=temp1;
    
    }

  5. #5
    Membre chevronné Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Par défaut
    pnoued *recherch(int i)
    Pourquoi un * ?

    while(temp!=NULL && a<i)
    { a++;
    temp=temp->suiv;
    }
    a n'est jamais initialisé.

    void inver(pnoued *i,pnoued *j)
    { pnoued temp1;

    temp1=(*i)->suiv;
    (*i)->suiv=(*j)->suiv;
    (*i)->suiv=temp1;

    temp1=*i;
    *i=*j;
    *j=temp1;

    }
    Si i et j différent de NULL alors copier i->data dans j->data, et inversement.

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2006
    Messages : 49
    Par défaut
    je sait que cé la la plus facile methode est d'echangé l'information mais eske l'echange des noued de la maniere que jai fait est possible? .

  7. #7
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Ben, dans une liste simplement chaînée, c'est pas évident...

    PS:
    1°) On dit noeud ou nœud, mais certainement pas noued (Et au pluriel, ça prend un s)
    2°) Tu pourrais écrire lisiblement ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  8. #8
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2006
    Messages : 49
    Par défaut
    ben merci pour la remarque sur lisibilité c'était un manque d'attention de ma part .

Discussions similaires

  1. [DOM] changer le contenu d'un noeud
    Par thefaycal dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 06/08/2009, 13h47
  2. [XPATH] Position d'un noeud par rapport à la racine ?
    Par DemonKN dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 22/10/2008, 18h51
  3. [MFC]Changer la position du élement du menu
    Par annedjomo dans le forum MFC
    Réponses: 1
    Dernier message: 02/09/2005, 06h20
  4. position() relative au noeud courant
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 09/09/2004, 17h38
  5. TREEVIEW : Editer (changer le nom) d'un Noeud
    Par cyberlewis dans le forum Composants VCL
    Réponses: 2
    Dernier message: 07/07/2004, 15h00

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