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