다익스트라 알고리즘이용 최단거리구하는 소스변형좀시켜주세요.
미드미
질문 제목 : 다익스트라 알고리즘이용 최단거리구하는 소스변형좀시켜주세요.현재 밑에 소스는 직접 그래프의 정보를입력해서 다익스트라 알고리즘을 이용하여 최단거리를 구하는소스입니다.
밑에그래프정보를 파일로부터 입력받아 최단거리를 구하는 소스좀알려주세요질문 내용 :
현재 밑에 소스는 직접 그래프의 정보를입력해서 다익스트라 알고리즘을 이용하여 최단거리를 구하는소스입니다.
밑에그래프정보를 파일로부터 입력받아 최단거리를 구하는 소스좀알려주세요
txt파일내용
---------------------------------------------------
(점 시작점 끝나는점 거리 ) 이순서입니다.
p 8 28 0
e X A 3
e A X 3
e X D 4
e D X 4
e A D 2
e D A 2
e A B 3
e B A 3
e D B 2
e B D 2
e D E 6
e E D 6
e B E 3
e E B 3
e B C 6
e C B 6
e B F 7
e F B 7
e E C 2
e C E 2
e E F 4
e F E 4
e C F 1
e F C 1
e C Y 4
e Y C 4
e F Y 2
e Y F 2
---------------------------------------------------
소스
---------------------------------------------------
#include
#define n 8
#define m 5000
void main()
{
int data[8][8] = {
{0,2,m,m,m,3,m,m},
{2,0,4,1,m,m,m,m},
{m,4,0,m,3,m,m,m},
{m,1,m,0,3,m,2,m},
{m,m,3,3,0,m,m,4},
{3,m,m,m,m,0,6,m},
{m,m,m,2,m,6,0,4},
{m,m,m,m,4,m,4,0}};
int i, j, k, s, e, min;
int v[8], distance[8], via[8];
printf(\n 출발점을 입력하시오. : );
scanf(%d, &s);
printf( 도착점을 입력하시오. : );
scanf(%d, &e);
for(j=0; j8; j++)
{
v[j] = 0;
distance[j] = m;
}
distance[s-1] = 0;
for(i=0; i8; i++)
{
min = m;
for(j=0; j8; j++)
{
if(v[j]==0 && distance[j]
{
k = j;
min = distance[j];
}
}
v[k] = 1;
if(min==m) break;
for(j=0; j8; j++)
{
if(distance[j] distance[k] + data[k][j])
{
distance[j] = distance[k] + data[k][j];
via[j]=k;
}
}
}
printf(\n %d에서 출발하여, %d로 가는 최단 거리는 %d입니다.\n, s, e, distance[e-1]);
int path[8], path_cnt=0;
k=e-1;
while(1)
{
path[path_cnt++]=k;
if(k==s-1)break;
k=via[k];
}
printf( 경로는 : );
for(i=path_cnt-1;i=1;i--)
{
printf(%d - ,path[i]+1);
}
printf(%d입니다,path[i]+1);
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2692282 | 도스상에서 생성된 exe파일에 press~ 뜨게 하기 (4) | 회사원 | 2025-04-21 |
2692256 | scanf("%*c"); ㅠㅠ 고수님들 | 거북이 | 2025-04-21 |
2692230 | 하노이탑 질문입니다. (1) | 미쁘다 | 2025-04-21 |
2692210 | 정보 올림피아드 문제인데.. 풀이 과정이 궁금합니다.(재귀함수) (5) | 물티슈 | 2025-04-20 |
2692144 | C언어와 리눅스에 대한 질문입니다. | 싴흐한세여니 | 2025-04-20 |
2692114 | 컨텍스트 스위칭하는데 걸리는 시간 측정.. | YourWay | 2025-04-19 |
2692086 | 간접참조 연산자, 증감연산자 질문이용! (2) | 블랙캣 | 2025-04-19 |
2692056 | 주석좀 달아주세요. 몇개적엇는데 몇개만달아주세요. (2) | DevilsTears | 2025-04-19 |
2691978 | 진수 쉽게 이해하는법... (3) | 지지않는 | 2025-04-18 |
2691949 | getchar() 한 문자를 입력받는 함수 질문 | 채꽃 | 2025-04-18 |
2691919 | 배열 정렬 및 합치기 질문입니다. | 사과 | 2025-04-18 |
2691845 | c언어왕초보 질문이 있습니다........ | 루나 | 2025-04-17 |
2691815 | void add(int num); 함수... (4) | 살랑살랑 | 2025-04-17 |
2691756 | 명령 프롬프트 스크롤바가 없어요 | 두메꽃 | 2025-04-16 |
2691725 | 자료구조에 관련해서 질문이 있어 글을 올립니다. | 누리알찬 | 2025-04-16 |
2691697 | if 문에서 구조체 배열에 저장되있던 문자열 검사하는 법 ? (2) | 민트맛사탕 | 2025-04-16 |
2691678 | C언어 함수 질문이요~!!! | 연보라 | 2025-04-15 |
2691650 | 반복문 | 돋가이 | 2025-04-15 |
2691618 | 링크드리스트 개념 질문이예요 (3) | 맨마루 | 2025-04-15 |
2691592 | 동적할당 이용 배열선언 질문입니다.ㅠㅠ (3) | 허리달 | 2025-04-15 |