Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1
Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1
Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
1-70 Aufgaben und <strong>Lösungen</strong><br />
Aufgabe 3.4.8 (P3)<br />
Schreiben Sie ein C-Programm zur Datenkompression nach dem LZW-Verfahren.<br />
Lösung<br />
//************************************************************************<br />
// Aufgabe 3.4.8<br />
// LZW-Kompression<br />
// Es wird eine Code-Tabelle <strong>mit</strong> 12 Bit verwendet<br />
// und <strong>mit</strong> den Bytes 0 .. 255 vorbesetzt<br />
//------------------------------------------------------------------------<br />
#include <br />
#include <br />
#include <br />
#include <br />
#include <br />
#define ESC 27<br />
#define BYTE unsigned char<br />
#define MAXLINE 80<br />
#define MAXDATA 800000<br />
#define NTAB 4096 // 16*256 = Länge der Code-Tabelle<br />
// Makros<br />
#define GETH4(x) ((x)>>4) // liefert 4 High-Bits von x<br />
#define GETL4(x) ((x)&15) // liefert 4 Low-Bits von x<br />
#define SETL4(x,y) (((x)&240)|((y)&15)) // kopiert L4 von y in L4 von x<br />
#define SETH4(x,y) (((x)&15) |((y)