Bonjour je dois simuler un réseau composé de noeuds ayant au maximum 4 connexions et un nom variable. Le réseau est décrit à partir d'un fichier qu'on doit lire.
Je définis donc la structure noeud suivante :
1 2 3 4
| struct noeud {
char *nom;
struct noeud *noeud_liaison[NOMBRE_LIAISON_MAX];
}noeud; |
(NOMBRE_LIAISON_MAX = 4 )
ensuite je lis mon fichier afin de récupérer tous les noeuds existants et les stocker dans un tableau de pointeur de structures comme ca quand j'effectuerai mes liaisons ca sera à l'aide des cases de ce tableau.
Je définis donc ce tableau comme ceci :
struct noeud *tableau_noeud;
J'alloue ensuite l'espace nécessaire de cette façon :
tableau_noeud=malloc(nombre_lignes_lues*sizeof(struct noeud));
J'ai donc un espace mémoire vide que je dois remplir avec les noeuds que j'ai trouvé. Pour cela je veux parcourir mon tableau et voir si le nom existe déjà si OUI alors je ne crée pas le noeud car il doit être unique sinon je le stocke dans ce tableau. Et c'est au moment de la comparaison que je n'arrive pas à trouver l'erreur ca compile pas.
1 2 3 4 5 6 7 8
| for(nombre_ligne=0; nombre_ligne < nombre_lignes_lues; nombre_ligne++)
{
if (strcmp(nom_noeud,(tableau_noeud[nombre_ligne]).nom) == 0)
{
puts("Noeud pas unique");
rangement=0;
}
} |
J'ai parcouru tout internet j'ai pas trouvé ou alors je suis passé dessus mais je n'ai pas compris.
Merci pour vos réponses.
Partager