1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| void largeur()
{
int depart=0;
int i;
int *V;
/* Med: On se doute qu'il s'agit de premiers éléments de listes chainées,
Mais cela ne devrait pas être des variables globales, mais des paramètres. */
Gare * garess =liste_gare;
Rail * railss =liste_rail;
int nbnd=image.nb_gare;
V=malloc(sizeof(int)*nbnd); /* Med: En C, le cast est inutile. */
for(i=0 ; i<nbnd ; i++)
{
V[i] = -1;
}
/* Med: Ici, tu devrais utiliser directement V[0] et i=1, ce serait plus clair */
i=0;
V[i]=depart;
i++;
/* Med: J'ai du mal à comprendre le noyau de cet algorithme... */
while(garess->suiv!=NULL)
{
depart=V[i-1];
if(garess->id==depart)
{
Rail * railss =liste_rail;
while(railss->suiv!=NULL)
{
if(railss->idGareDep==depart)
{
V[i]=railss->idGareDar;
printf("V[%d]=%d\n",i,V[i]);
i++;
}
railss=railss->suiv;
}
}
garess=garess->suiv;
}
/* Med: Boucle d'affichage trop compliquée et on ne sait pas d'où sort ton j
for(i=0,j=0;i<nbnd;i++,j++) */
for(i=0 ; i<nbnd ; i++)
{
printf("V[%d]:%d\n",i,V[i]);
}
/* Med: Free absent. */
} |
Partager