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 :
(NOMBRE_LIAISON_MAX = 4 )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 struct noeud { char *nom; struct noeud *noeud_liaison[NOMBRE_LIAISON_MAX]; }noeud;
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 :
J'alloue ensuite l'espace nécessaire de cette façon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part struct noeud *tableau_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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part tableau_noeud=malloc(nombre_lignes_lues*sizeof(struct noeud));
J'ai parcouru tout internet j'ai pas trouvé ou alors je suis passé dessus mais je n'ai pas compris.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; } }
Merci pour vos réponses.
Partager