파일 입출력을 이용한 정렬 알고리즘
아잉형님
질문 제목 : 파일 입출력을 이용한 정렬 알고리즘부끄럽지만 파일 입출력에 대한 개념이 거의 없는 상태라서 이런 응용문제를 접근 자체를 못하겠네요.질문 내용 :
입력데이터는 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 파일은 첨부하였습니다.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2700695 | 간단한 메모장 구현을 할려고 하는데요 (9) | 늘솜 | 2025-07-07 |
2700668 | c언어 질문입니다. 도와주세요~ (3) | 가자 | 2025-07-07 |
2700639 | 한글입력받아서 ㄱㄴㄷ순서대로출력하는법좀 | 두빛나래 | 2025-07-06 |
2700610 | 정말 기초적인 더하기,여백 문제 help | 무슬 | 2025-07-06 |
2700562 | 함수포인터에서요 (7) | 소심한여자 | 2025-07-06 |
2700530 | 전처리문 질문입니다. (1) | 아놀드 | 2025-07-05 |
2700510 | c언어를 어케하면 잘할수 있을까요.. | 연연두 | 2025-07-05 |
2700484 | 두 개가 차이가 뭔지 알려주세요...(소수 찾는 프로그램) (2) | 날위해 | 2025-07-05 |
2700426 | 인터넷 창 띄우는 질문이요 (1) | 정훈 | 2025-07-04 |
2700400 | 원넓이를 계산이요 ㅜㅜ | 천칭자리 | 2025-07-04 |
2700368 | if에 관해서 질문이요... | Orange | 2025-07-04 |
2700339 | 이거 결과값이 왜이런건지.. (4) | 그댸와나 | 2025-07-04 |
2700313 | 파일 읽어서 저장하는데 빈파일일 경우 문재가 발생하네요.. (2) | 크나 | 2025-07-03 |
2700287 | 구조체 동적할당 연습을 하는데 오류가 뜹니다...(해결) (3) | 아련나래 | 2025-07-03 |
2700264 | 문자와 숫자 동시에 입력??? | 글고운 | 2025-07-03 |
2700236 | txt파일로만 쓰고 읽게 하려면 어떻게 해야 하나요..?? (8) | 미국녀 | 2025-07-03 |
2700211 | 전위 연산자 (2) | 어른처럼 | 2025-07-02 |
2700183 | C에서 파일이름을 받고, 그 파일의 사이즈를 출력해줘야하는데 내용이 출력이 안되네요 ;ㅅ; | 피스케스 | 2025-07-02 |
2700150 | 꼭좀 도와주세요ㅠㅠㅠ | 호습다 | 2025-07-02 |
2700095 | 연산문제...질문... | 오빤테앵겨 | 2025-07-01 |