usaa24/sk1
Bohdan Kapliuk ff21820ba7 pk1
2025-01-12 17:51:51 +02:00
..
compressor.c pk1 2025-01-12 17:51:51 +02:00
compressor.h sk1 2025-01-12 15:32:10 +02:00
main.c sk1 2025-01-12 17:02:25 +02:00
Makefile sk1 2025-01-12 15:32:10 +02:00
README.md sk1 2025-01-12 15:32:10 +02:00

Dokumentácia

Zadanie

Vytvorte program na kompresiu a dekompresiu súborov pomocou dvoch rôznych algoritmov: RLE (Run Length Encoding) a LZ78. Program musí podporovať nasledujúce operácie:

  • Kompresia pomocou RLE
  • Dekompresia pomocou RLE
  • Kompresia pomocou LZ78
  • Dekompresia pomocou LZ78

Stručný opis funkčnosti

Program compressor umožňuje kompresiu a dekompresiu súborov pomocou algoritmov RLE a LZ78. Program sa spúšťa z príkazového riadku s nasledujúcimi argumentmi:

  • -c infile outfile: Kompresia pomocou algoritmu RLE
  • -d infile outfile: Dekompresia pomocou algoritmu RLE
  • -c2 infile outfile: Kompresia pomocou algoritmu LZ78
  • -d2 infile outfile: Dekompresia pomocou algoritmu LZ78
  • -h: Zobrazenie pomoci

Stručný opis riešenia

Program je implementovaný v jazyku C a obsahuje nasledujúce súbory:

  • main.c: Obsahuje hlavný program, ktorý spracováva argumenty príkazového riadku a volá príslušné funkcie na kompresiu a dekompresiu.
  • compressor.c: Obsahuje implementáciu kompresných a dekompresných algoritmov RLE a LZ78.
  • compressor.h: Hlavičkový súbor s deklaráciami funkcií.
  • Makefile: Súbor na kompiláciu programu pomocou nástroja make.

Algoritmus RLE komprimuje súbor tak, že nahradí opakujúce sa znaky dvojicou (znak, počet opakovaní). Algoritmus LZ78 komprimuje súbor tak, že nahradí opakujúce sa sekvencie znakov dvojicou (index, znak), kde index odkazuje na predchádzajúcu sekvenciu v slovníku.

Podmienky za ktorých funguje

Program bol testovaný na systéme Windows s kompilátorom GCC. Na kompiláciu programu použite príkaz make v príkazovom riadku. Program vyžaduje, aby vstupné súbory existovali a boli čitateľné. Výstupné súbory budú vytvorené alebo prepísané.

Zoznam použitých zdrojov