BRONZE
BRONZE 등급의 판매자 자료

[C언어]자료를 압축 해제하는 프로그램

파일을 압축하고 해제하는 프로그램입니다. 알집의 기본원리를 C언어로 프로그래밍 했다고 보시면 됩니다. 트리구조와 double linked list를 사용하였고 목적에 맞게 파일도 여러개로 나눠어 프로그램을 작성하였습니다. 프로그램을 실행시킨후 인코딩을 할 것인지 디코딩을 한 것인지 선택한후 인코딩할 파일이름을 입력한후 인코딩과 디코딩을 하면 됩니다. 컴퓨터 프로그램밍 시간에 프로그래밍을 하여 A를 맞았던 프로그램입니다. 공부하시는데 많은 도움 되길 바랍니다.
압축파일
최초등록일 2006.01.04 최종저작일 2006.01
[C언어]자료를 압축 해제하는 프로그램
  • 미리보기

    소개

    파일을 압축하고 해제하는 프로그램입니다. 알집의 기본원리를 C언어로 프로그래밍 했다고 보시면 됩니다. 트리구조와 double linked list를 사용하였고 목적에 맞게 파일도 여러개로 나눠어 프로그램을 작성하였습니다. 프로그램을 실행시킨후 인코딩을 할 것인지 디코딩을 한 것인지 선택한후 인코딩할 파일이름을 입력한후 인코딩과 디코딩을 하면 됩니다.
    컴퓨터 프로그램밍 시간에 프로그래밍을 하여 A를 맞았던 프로그램입니다.
    공부하시는데 많은 도움 되길 바랍니다.

    컴파일 실행환경

    해더파일 (header.h), 소스파일 (calculate.c, code.c, file.c, main.c, print.c) 을 한꺼번에 비주얼 스튜디오로 실행시킵니다. 이때 data.txt 파일을 같은 폴더에 넣고 실행시켜야 합니다. 실행을 시켜 실행창이 뜨면 encoding과 decoding을 하라고 나오는데 먼저 encoding을 한다고 하고 data.txt라는 파일이름을 입력한후 encoding이 끝나면 decoding하시면 됩니다.
    그리고 중간과정의 encoding file과 decoding file은 각각 생성됩니다.
    생성된 파일의 이름은 encode.txt, decode.txt 입니다.

    본문내용

    사용자로부터 주어진 텍스트 파일을 압축하고 반대로 압축된 파일은 압축을 푸는 프로그램을 작성하시오.

    이번 과제는 10주차 예제 암호화 문제의 응용으로 생각할 수 있다. 예제의 경우 코드 테이블이 주어진다. 반면에 이번 과제에선 여러분이 직접 코드 테이블을 만들어야 한다. 현재 압축할 파일이 텍스트이기 때문에 alphabet은 텍스트 파일에 존재하는 각 문자로 한다. 우선 각 alphabet의 빈도수를 구한다. 빈도수를 구하면 주어진 텍스트가 압축되기 위해 빈도수가 큰 문자는 작은 길이의 코드를 부여하고 빈도수가 작은 문자는 반대로 긴 코드를 부여한다. 이렇게 각 alphabet에 대응하는 코드를 만드는 방법으로 Huffman coding이라는 알고리즘이 있다. 이 알고리즘의 참조 사이트는 다음과 같다.
    http://www.rasip.fer.hr/research/compress/algorithms/fund/huffman/
    웹에 많은 정보가 존재하므로 찾아보기 바란다.
    Huffman coding을 이용하여 만들어진 코드 테이블은 Huffman tree라고 불리운다. 이것을 이용하여 텍스트 파일은 각 alphabet을 대응하는 코드로 변환하여 압축할 수 있고 반대로 압축된 파일은 각 코드에 대응하는 alphabet으로 복호화하여 본래의 텍스트 파일을 얻을 수 있다.

    제한 조건
    1. 텍스트 파일의 크기는 제한이 없다.
    2. 압축 알고리즘은 huffman coding 알고리즘을 사용한다.
    3. 압축되지 않은 파일을 압축을 풀 경우 에러를 출력하고 프로그램을 종료한다.
    4. 압축을 수행하는 경우 주어진 텍스트 문서의 분석 결과를 아래 출력형식과 같이 화면에 출력한다.
    5. 프로그램 실행 방법을 아래와 같이 한다.
    6. 압축을 수행하거나 압축을 푸는 경우 10%별로 진행 사항을 출력한다.
    7. 나머지 내용은 여러분들 나름대로 가정하여 문제를 푼다.

    참고자료

    · 없음
  • 자료후기

    Ai 리뷰
    지식판매자가 제공하는 자료는 질이 매우 높고, 주제에 대한 깊이 있는 분석이 인상적입니다. 이해하기 쉬운 설명과 다양한 예시 덕분에 활용하기 편했습니다. 정말 감사드립니다!
    왼쪽 화살표
    오른쪽 화살표
  • 자주묻는질문의 답변을 확인해 주세요

    해피캠퍼스 FAQ 더보기

    꼭 알아주세요

    • 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
      자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
      저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
    • 해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.
      파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
      파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우

함께 구매한 자료도 확인해 보세요!

찾으시던 자료가 아닌가요?

지금 보는 자료와 연관되어 있어요!
왼쪽 화살표
오른쪽 화살표
문서 초안을 생성해주는 EasyAI
안녕하세요. 해피캠퍼스의 방대한 자료 중에서 선별하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 목차부터 본문내용까지 자동 생성해 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 캐시를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2025년 05월 13일 화요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
3:12 오후