파일을 읽어와 이진탐색시 오류입니다
그리
질문 제목 : 파일을 읽어와 이진탐색
단어들이 저장되있는 파일을 불러와 이진탐색을하여 찾는 단어가 몇번째인지 알아내는 소스입니다.
질문 내용 :
#includestdio.h
#include string.h
#define max 255
#define find 30
int binary(int firstline, int finalline,int serchnum, char serchkey[], char keycode[]);
int main(){
int line = 0;
int state;
int serchnum = 0;
int fline = 1; .
char keycode[max][find];
char serchkey[find];
int i = 0;
file * file = fopen(news_data.txt, rt);
if(file == null)
{
printf(파일을 못 읽었습니다.!\n);
return 0; // 종료
}printf(------ 프로그램 시작 --------\n);
while(1) // 반복문을 시작합니다.
{
if(feof(file) != 0)
break;
fgets(keycode[i], max, file);
i++;
line++;
}
printf(총 단어의 개수는 %d 입니다.\n\n,line);
printf(검색 할 단어를 선택하세요.:);
scanf(%s, &serchkey);
serchnum = binary(fline,line,serchnum,serchkey,keycode);
printf(-----검색 종료----- \n);
printf(당신이 찾은 단어는 %d 번째 단어입니다.\n,serchnum);
return 0;
}
int binary(int firstline, int finalline,int serchnum, char serchkey[], char keycode[]){
int first, final, center;
int result;
first = firstline;
final = finalline;
center = (first + final) / 2;
result = strcmp(serchkey,&keycode[center]);
serchnum = center;
if(result == 0)
return serchnum;
else if(result 0){
final = center - 1;
return binary(firstline, final,serchnum, serchkey, &keycode[center]);
}
else if(result 0){
first = center + 1;
return binary(first, final, serchnum, serchkey, &keycode[center]);
}
else
printf(맞는 단어를 찾지 못하였습니다.\n);
}
-----------------------------
오랜시간동안 책이랑 인터넷을 이것저것 뒤져가면서 했는데요.1th_binaryreserch.exe의 0x77d070b4에 처리되지 않은 예외가 있습니다. 0xc0000005: access violation
이런 오류메세지가 뜨면서 안됩니다.오늘 하루를 다 보냈는데도 이 단계에서 도저히 뭐가뭔지 모르겠내요 ㅠㅠ
근본적인 원인이 무엇인지 감이 안잡힙니다.
부탁드립니다~!!!
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2692483 | C언어 함수, Header | 떠나간그놈 | 2025-04-23 |
2692451 | 이 문제좀 풀어주세요 ^^ | 게자리 | 2025-04-23 |
2692424 | 2차원배열 자료입력질문이요! (1) | 똘끼 | 2025-04-22 |
2692401 | 유닉스안에서 C언어를 이용한 명함 만들기 입니다; 이해안가는 부분이있네요 | 2gether | 2025-04-22 |
2692374 | 고수님들 댓글 마니부탁해요!!! (2) | 엄지 | 2025-04-22 |
2692343 | scnaf에 자꾸 선언을 참조하라는데;; (8) | 도래 | 2025-04-22 |
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 |