| | Premium | Posté le 27/05/2006 @ 16:22 | Petit astucien
205 Messages
| Bonjour,
j'aurais besoin d'aide concernant l'écriture d'une boucle pour m'afficher un sommet et ses voisins sur une ligne.
Par exemple si un sommet A à 2 voisins B et C, l'affichage serait :
[code]
A,B
A,C[/code]
"arbre->liste.nb" => c'est le nb de noeuds distincts de l'arbre
"arbre->liste.elem[i]->tabNoeud.nb" => c'est le nb de voisins
avec cette boucle :
[code] for (i=0, ptDistinct=arbre->liste.elem; i < arbre->liste.nb; i++, ptDistinct++)
{
j=0;
ptVoisin=(*ptDistinct)->tabNoeud.elem;
printf("%s", Noeud_printf(*ptDistinct));
while(j<(*ptDistinct)->tabNoeud.nb)
{
printf(",%s", Noeud_printf(*ptVoisin));
j++;
ptVoisin++;
printf("\n");
}
}[/code]
j'obtiens un affichage de ce type :
[code]A,B
,C
[/code] Le sommet A n'est pas réécrit
Est-ce que vous pourriez m'aider?
Merci
| | |
| |
| Publicité |
|
| | don diego | Posté le 28/05/2006 à 11:33 | Petit astucien
323 Messages
| Salut,
C'est normal. Tu as deux boucles :
- dans la première, tu écris le noeud A.
- et ensuite, tu rentres dans la deuxième boucle (qui sert à afficher les noeuds voisins de A).
En fait, une fois que tu rentres dans la 2ième boucle, tu n'en ressort qu'une fois après avoir afficher tous les sommets voisins.
Je pense que tu n'as besoin que d'une seule boucle. | | | |
| | Haut de la page |
| | Inscrivez-vous ! |
- Posez vos questions
- Résolvez vos problèmes
- Aidez les autres
- Participez et créez vos discussions
- Dialoguez en privé avec d'autres membres
- Suivez vos sujets préférés
- Affichez les signatures des membres
|
|