파일 입출력을 이용한 정렬 알고리즘
아잉형님
질문 제목 : 파일 입출력을 이용한 정렬 알고리즘부끄럽지만 파일 입출력에 대한 개념이 거의 없는 상태라서 이런 응용문제를 접근 자체를 못하겠네요.질문 내용 :
입력데이터는 input.txt라는 이름의 영문 텍스트 파일이다. 프로그램은 먼저 텍스트 파일을 읽어서 모든 단어들을 하나의 배열에 저장한다. 동일 단어가 중복 등장할 때에도 제거하지 않고 모두 저장한다. 단어의 맨 앞이나 끝에 붙어있는 마침표, 쉼표 따옴표, 숫자 등의 기호들은 모두 제거하고, 모든 대문자는 소문자로 바꾼다. 단어의 중간에 영어 알파벳이 아닌 특수문자나 숫자가 포함된 단어들은 무시한다. 입력파일의 길이는 최대 100,000단어라고 가정하고, 한 단어의 길이는 최대 20문자라고 가정한다. 만약 입력 파일에 길이가 20을 초과하는 단어가 등장하면 이는 무시한다.
프로그램은 배열에 저장된 단어들을 (bubble, selection, insertion, merge, heap, quick, radix) 정렬들을 차례대로 적용하여 정렬을 한 후, 각 정렬별로 소요된 시간을 측정하여 이를 output.txt라는 이름의 파일에 요약하여 출력한다. 정렬된 결과는 sorted.txt라는 이름의 별개의 파일에 한 줄에 한 단어씩 출력한다. 정렬된 결과는 한 번만 출력한다.
sample.txt라는 파일이 있습니다.(내용은 영어로 된 간단한 만담 or 소설) 이 파일을 *fp=fopen(sam~, r); 로 읽어 오는것 까지 밖에 이해를 못하겠네요.
이 읽은 파일에 단어들을 하나의 배열에 저장하는 법을 fscanf()로 생각해보았는데 위에 설명에 나오듯이 조건이 붙습니다.
이렇게 되니 if문이나 while문 같은 조건문을 어떻게 써야 할지 감이 잡히질 않네요..
뭔가 글 솜씨가 없어 지저분하게 질문글을 올린거 같아서 죄송하지만.. 일단.. 제일 이해가 필요한 부분은..
프로그램은 먼저 텍스트 파일을 읽어서 모든 단어들을 하나의 배열에 저장한다. 동일 단어가 중복 등장할 때에도 제거하지 않고 모두 저장한다. 단어의 맨 앞이나 끝에 붙어있는 마침표, 쉼표 따옴표, 숫자 등의 기호들은 모두 제거하고, 모든 대문자는 소문자로 바꾼다. 단어의 중간에 영어 알파벳이 아닌 특수문자나 숫자가 포함된 단어들은 무시한다. 입력파일의 길이는 최대 100,000단어라고 가정하고, 한 단어의 길이는 최대 20문자라고 가정한다. 만약 입력 파일에 길이가 20을 초과하는 단어가 등장하면 이는 무시한다.
여기서 배열에 저장할때 a[100000] 에 저장을 한다고 가정하면 조건을 어떻게 주어야 할지 모르겠습니다..
조언 부탁드립니다..
sample 파일은 첨부하였습니다.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2653142 | 질문드립니다.. 부탁드립니다.. | 머슴밥 | 2024-04-29 |
2653119 | cmd창[도스창, 콘솔창]에 한글이 출력이 안되요. (2) | By은지 | 2024-04-28 |
2653096 | C언어와 C++, 베이직C++의 차이 (1) | 두동 | 2024-04-28 |
2653014 | 전기 분야에서는 C언어가 어떤, 어느 용도로 쓰이나요? (7) | 처녀자리 | 2024-04-27 |
2652986 | c언어 프로그램~~ (5) | 가장 | 2024-04-27 |
2652907 | mciSendString 함수 플레이 시간, (1) | 해나 | 2024-04-26 |
2652880 | 배열입력을 묻고 싶습니다 (3) | 사에 | 2024-04-26 |
2652852 | strcmp함수 사용 관련,동적영역메모리접근관련 질문..이요. (1) | 민서 | 2024-04-26 |
2652801 | 안좋은 코딩 습관 지적좀요. | Addictive | 2024-04-25 |
2652779 | 문자열의 주소값 출력에 대해서 질문드립니다. | 핑크펄 | 2024-04-25 |
2652748 | 좀 도와주세요 ㅠ | 연체리 | 2024-04-25 |
2652719 | 다음프로그램의 실행결과를 알아보자.. (6) | 분홍이 | 2024-04-25 |
2652641 | 소인수프로그램 오류 (1) | 모람 | 2024-04-24 |
2652555 | 다이아 몬드 설명좀 부탁드립니다 | 갈기슭 | 2024-04-23 |
2652529 | 반복문을 .... (1) | 우시 | 2024-04-23 |
2652417 | 방향키로 커서이동 | 목소리 | 2024-04-22 |
2652339 | 구조체끼리 연결 왜 안될까요? (1) | 도담 | 2024-04-21 |
2652315 | 제발 도와주세요(실행파일까지첨부) | 은소라 | 2024-04-21 |
2652285 | 면산적님 질문요 (1) | 세찬 | 2024-04-21 |
2652253 | 다중루프를 이용한 이등변 삼각형 만들기 질문이요. | 알프레드 | 2024-04-20 |