Red de conocimientos turísticos - Conocimientos sobre calendario chino - ¿Alguien sabe cómo diseñar cursos de lenguaje C por el camino más corto? QQ476566409! ! ! Muy urgente~~

¿Alguien sabe cómo diseñar cursos de lenguaje C por el camino más corto? QQ476566409! ! ! Muy urgente~~

Hola, esta es la solución del algoritmo D que escribí:

------------------------ - -

#include

#define MAX 200

#define N 5

void main()

p>

{

int final[N]={0},D[N],G[N][N],P[N][N]={0},i, j,e,h,w,min;

for(i=0;i

for(j=0;j

G[i][j]=MAX;

printf("Ingrese el número de líneas dirigidas:");scanf("%d",&e);

printf("\nPor favor ingrese el principio y el final de la línea y la longitud:\n");

for(i=0;i

{

scanf("%d%d%d",&h,&w,&j);G[h][w]=j;

}

printf ("\nIngrese el punto inicial de la ruta:");scanf("%d%d",&h,&w);

for(i=0;i

{

D[i]=G[h][i];

si(D[i]

{P[ i][h]=1;P[i][i]=2;}

}

final[h]=1;D[h] =0;

p>

para(i=1;i

{min=MAX;

para(j=0;j

if(!final[j])

if(D[j]

{e=j;min= D[j];}

final[e]=1;

for(j=0;j

if(!final [j]&&min+G[ e][j]

{D[j]=min+G[e][j];

para( h=0;h

P[j][h]=P[e][h];

P[j][j]=P[ j][e]+1 ;

}

}

printf("\nLa distancia más corta es: %d",D[w]);

printf("\nEl camino más corto es:");

for(j=1;j<=N;j++)

for(i= 0;i

if(P[w][i]==j)

{printf("%d ",i);}

printf(" \n");

}

----------------------- -