정성훈
    Mini Project 2(텍스트 압축) 추가 구현
ch10_RLE_results.png [30 KB]   chap10_RLE_test.txt [1 KB]  




모범 답안에는 복구하는 기능이 없음
복구하는 기능을 구현하면 다음과 같다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
char processing[100];
 
void printRLE(char str[])
{
    char temp[10];
    int n = strlen(str);
    for (int i = 0; i < n; i++) {
        int count = 1;
        while (i < n - 1 && str[i] == str[i + 1]) {
            count++;
            i++;
        }
        printf("%d%c", count, str[i]);
        sprintf(temp, "%d%c", count, str[i]);
        strcat(processing, temp);
    }
    printf("\n\n");
}
 
void recover(char str[])
{
    int i, j, k, num;
    char collect[10];
 
    int n = strlen(str);
    for (i = 0; i < n; i++) {
        j = 0;
        while(str[i+j] >= '0' && str[i+j] <= '9') {
            collect[j]=str[i+j++];
        }
        collect[j] = 0;
        num = atoi(collect);
        for (k = 0; k < num; k++) {
            putchar(str[i + j]);
        }
        i += j;
    }
}
 
int main(void)
{
    char s[100];
    printf("문자열 입력: ");
    gets_s(s, 100);
    printRLE(s);
    printf("복구 문자열: ");
    recover(processing);
    return 0;
}
cs

  등록일 : 2023-06-02 [18:46] 조회 : 107 다운 : 110   
 
△ 이전글Mini Project 2(텍스트 압축) (모범 답안)
▽ 다음글Mini Project 1(텍스트 암호화)
프로그래밍언어 실습게시판
번호 제 목 조회 등록일
Mini Project (어드벤처 게임 만들기) 추가 구현 // ★★★ 기말과제 게임구현 시 참고
실습 목차
241 └❶ lpointer_to_st.c (교재) 404 02-23
240 └❶ lvector.c (교재) 410 02-23
239 └❶ lmultiple_choice.c (교재) 452 02-23
238 └❶ larray_of_struct.c (교재) 451 02-23
237 └❶ lpoint.c (교재) 406 02-23
236 └❶ lstruct_init.c (교재) 391 02-23
235 └❶ lstudent1.c (교재) 419 02-23
234 (10장) 문자열 458 02-22
233 └❶ Mini Project 2(텍스트 압축) 358 04-26
232    └❷ Mini Project 2(텍스트 압축) (모범 답안) 177 04-26
231       └❸ Mini Project 2(텍스트 압축) 추가 구현 107 06-02
230 └❶ Mini Project 1(텍스트 암호화) 361 04-26
229    └❷ Mini Project 1(텍스트 암호화) (모범 답안) 248 04-26
228 └❶ 도전문제 354 04-26
227    └❷ 도전문제 (모범답안) 219 04-26
226 └❶ lstr_sort.c (교재) 606 02-23
225    └❷ 한글 이름 정렬 예제 70 05-24
224 └❶ ldic.c (교재) 607 02-23
223 └❶ larray_of_string.c (교재) 548 02-23
222 └❶ lanagram.c (교재) 608 02-23

[1][2][3][4][5][6][7][8][9][10]-[Next][15]