Bonjour ,

j'essaye de créer un tableau dynamique mais il ne fonctionne pas :s.
A chaque tour de boucle j'alloue un nouvelle espace memoire dans lequel je range un entier. Mais ensuite quand je veux lire le tableau ca m'affiche 2 valeurs et les reste c'est des 0 ...

Qu'est ce qui ne va pas?


Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
 
int* plus_court_chemin(int nbsommets, int compteur, Arc A[nbsommets], int potentiels[nbsommets], int id_arrivee, int id_depart, int tab2_chemin[compteur])
{
	int id_affiche,i=0,taille_tab=0;	
	id_affiche=id_arrivee;
	//tab_chemin[compteur-1]=id_affiche;
	int * tab_chemin;
	while(id_affiche!=id_depart)
	{
		tab_chemin = malloc (1 * sizeof(int));
		if( tab_chemin == NULL )
		{
     		fprintf(stderr,"Allocation impossible PROBLEME TECHNIQUE");
    		 exit(EXIT_FAILURE);
		}
		//compteur++;
		tab_chemin[i]=A[id_affiche].init;
		printf("%d ",tab_chemin[i]);
		id_affiche=A[id_affiche].init;
		i++;
		taille_tab++;
	}
 
 
 
 
	for(i=0;i<compteur;i++)
	{
		printf("test %d ",tab_chemin[i]);
	}
	//printf("\n");
	return(tab_chemin);
}