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 51 52 53 54 55 56 57 58 59 60 61 62 63
|
typedef struct {
int depart;
int arrivee;
int poids;
} Arc;
int *initparcours(int Orig)
{
int *parcoursinit,i;
parcoursinit=(int *)malloc(10*sizeof(int));
for (i=0;i<10;i++)
{
parcoursinit[i]=Orig;
}
return parcoursinit;
}
int *parcours(int* parcnoeud, int dest,int noeud)
{
parcnoeud[noeud]=dest;
return parcnoeud;
}
int main()
{
/* Arc arcs[30] = {{0,1,1},{0,2, 1},{1,0, 1},{1,2, 1},{1,3, 1},{2,0, 1},{2,1, 1},{2,5, 1},{2,6, 1},{3,1, 1},{3,7, 1},{4,5, 1},{4,1, 1},{4,7, 1},{5,2,
1},{5,4,1},{5,8,1},{6,2,1},{6,8, 1},{7,3, 1},{7,8, 1},{7,4, 1},{7,9, 10},{8,6, 1},{8,5, 1},{8,7, 1},{8,9, 10},{9,7, 1},{9,8, 1}};
// BellmanFord(arcs, 30,10,0);*/
int k;
int Origine=0;
int *parcoursnoeuds;
int Nourriture=10;
int Destination[10]={0,1,4,8,10};
int noeud=1;
parcoursnoeuds=initparcours(Origine);
printf("Etape 0\n");
for (k=0;k<10;k++)
{
printf("%d\n",parcoursnoeuds[k]);
}
printf("\n");
while (Nourriture!=Origine)
{
parcoursnoeuds=parcours(parcoursnoeuds,Destination[noeud],noeud);
printf("Etape %d\n",noeud);
for (k=0;k<10;k++)
{
printf("%d\n",parcoursnoeuds[k]);
}
printf("\n");
Origine=Destination[noeud];
noeud++;
}
return 0;
} |
Partager