int distance[NODES];
int found[NODES];
int path[NODES];

int choose(int distance[],int n,int found[])
{
        int i,min,minpos;
        min = INF;
        minpos = -1;
        for(i=0;i<n;i++)
                if(distance[i]<min&&!found[i]){
                        min = distance[i];
                        minpos=i;
                }
                return minpos;
}

void shortest_path(int start,int cost[][NODES],int disttance[],int n,int found[])
{
        int i,u,w;
        for(i=0;i<n;i++)
        {
                found[i] = FALSE;
                distance[i]=cost[start][i];

        }
        found[start] = TRUE;
        distance[start] = 0;
        for(i=0;i<n-2;i++){
                u=choose(distance,n,found);
                found[u]=TRUE;
                for(w=0;w<n;w++)
                        if(!found[w])
                                if(distance[u]+cost[u][w]<distance[w])
                                        distance[w]=distance[u]+cost[u][w];

        }
}



void main()
{
        shortest_path(0,cost,distance,NODES,found);

}

형들
dijkstra 코드가 이거잖음.
여기서
시작정점이랑 마지막정점 지정어케하고.
경유노드 출력하는방법,통과한간선의 합계 어떻게 출력함요?