C++

Простейший класс для простой архивации

Класс для упаковки/распаковки данных, алогритм взят на просторах инета, и обернут в C++
Кода мало скорее для любопытства чем для реального применения

TCompress c;
c.infile = new char [ 4096];
c.outfile = new char[2040];
strcpy(c.infile,"Test for hello world");
c.Encode(4095);

delete [] c.infile;
delete [] c.outfile;

т.е. за памятью нужно следить явно (выделяя и удаляя)

Пример упаковки/разпаковки части лабиринта


#include <stdio.h>
#include <string.h>

#define MAPW 10
#define MAPH 10

#define SEE_RADIUS 3

char map[10*10] =
"1111111111"
"1 1 1"
"1 11 1 1 1"
"1 X1 1 1 1"
"1111 1 111"
"1 1 1"
"11 11111 1"
"1 1 1 1"
"1 1"
"1111111111";

void drawMap(char *map)
{

for(int i=0;i<MAPW*MAPH;i++)
{
printf("%c",map[i]);
if ((i+1)%MAPW==0) printf("
");
}

}

void packMap(int x,int y,char *temp)
{
char *p=temp;

//определяем максимальную разрядность
int n=4;
if (MAPW*MAPH<4095) n=3;
if (MAPW*MAPH<255) n=2;

RSS-материал