Опытный
 
Профиль
Группа: Эксперт
Сообщений: 656
Регистрация: 18.10.2004
Где: Одесса
Репутация: 2 Всего: 19
|
| Код | #include <stdio.h> #include <stdlib.h> #include <string.h>
typedef unsigned char uchar;
static uchar ai[] = {176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191, 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207, 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223, 136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151, 152,153,154,129,156,157,158,159,160,161,162,163,164,165,166,167, 168,169,170,171,172,173,174,175,240,241,242,243,244,245,246,247, 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, 130,132,135,134,128,133,131,155,248,249,250,251,252,253,254,255};
static uchar ak[] = {225,226,247,231,228,229,246,250,233,234,235,236,237,238,239,240, 242,243,244,245,230,232,227,254,251,253,255,249,248,252,224,241, 193,194,215,199,196,197,214,218,201,202,203,204,205,206,207,208, 136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151, 152,153,154,129,156,157,158,159,160,161,162,163,164,165,166,167, 168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183, 210,211,212,213,198,200,195,222,219,221,223,217,216,220,192,209, 130,132,135,134,128,133,131,155,184,185,186,187,188,189,190,191};
static uchar aw[] = {192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207, 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223, 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, 136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151, 152,153,154,129,156,157,158,159,160,161,162,163,164,165,166,167, 168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183, 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255, 130,132,135,134,128,133,131,155,184,185,186,187,188,189,190,191};
static uchar ia[] = {244,195,240,246,241,245,243,242,176,177,178,179,180,181,182,183, 184,185,186,187,188,189,190,191,192,193,194,247,196,197,198,199, 200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215, 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159, 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, 216,217,218,219,220,221,222,223,248,249,250,251,252,253,254,255};
static uchar ik[] = {128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159, 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, 225,226,247,231,228,229,246,250,233,234,235,236,237,238,239,240, 242,243,244,245,230,232,227,254,251,253,255,249,248,252,224,241, 193,194,215,199,196,197,214,218,201,202,203,204,205,206,207,208, 210,211,212,213,198,200,195,222,219,221,223,217,216,220,192,209, 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191};
static uchar iw[] = {128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159, 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207, 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223, 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255, 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191};
static uchar ka[] = {244,195,240,246,241,245,243,242,176,177,178,179,180,181,182,183, 184,185,186,187,188,189,190,191,192,193,194,247,196,197,198,199, 200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215, 216,217,218,219,220,221,222,223,248,249,250,251,252,253,254,255, 238,160,161,230,164,165,228,163,229,168,169,170,171,172,173,174, 175,239,224,225,226,227,166,162,236,235,167,232,237,233,231,234, 158,128,129,150,132,133,148,131,149,136,137,138,139,140,141,142, 143,159,144,145,146,147,134,130,156,155,135,152,157,153,151,154};
static uchar ki[] = {128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159, 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255, 238,208,209,230,212,213,228,211,229,216,217,218,219,220,221,222, 223,239,224,225,226,227,214,210,236,235,215,232,237,233,231,234, 206,176,177,198,180,181,196,179,197,184,185,186,187,188,189,190, 191,207,192,193,194,195,182,178,204,203,183,200,205,201,199,202};
static uchar kw[] = {128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159, 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191, 254,224,225,246,228,229,244,227,245,232,233,234,235,236,237,238, 239,255,240,241,242,243,230,226,252,251,231,248,253,249,247,250, 222,192,193,214,196,197,212,195,213,200,201,202,203,204,205,206, 207,223,208,209,210,211,198,194,220,219,199,216,221,217,215,218};
static uchar wa[] = {244,195,240,246,241,245,243,242,176,177,178,179,180,181,182,183, 184,185,186,187,188,189,190,191,192,193,194,247,196,197,198,199, 200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215, 216,217,218,219,220,221,222,223,248,249,250,251,252,253,254,255, 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159, 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239};
static uchar wi[] = {128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159, 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255, 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191, 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207, 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223, 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239};
static uchar wk[] = {128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159, 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191, 225,226,247,231,228,229,246,250,233,234,235,236,237,238,239,240, 242,243,244,245,230,232,227,254,251,253,255,249,248,252,224,241, 193,194,215,199,196,197,214,218,201,202,203,204,205,206,207,208, 210,211,212,213,198,200,195,222,219,221,223,217,216,220,192,209};
static uchar *table;
void recode(char *cod,char *st) { table = NULL; if(!strcmp(cod, "ai")) table = ai; else if(!strcmp(cod, "ak")) table = ak; else if(!strcmp(cod, "aw")) table = aw; else if(!strcmp(cod, "ia")) table = ia; else if(!strcmp(cod, "ik")) table = ik; else if(!strcmp(cod, "iw")) table = iw; else if(!strcmp(cod, "ka")) table = ka; else if(!strcmp(cod, "ki")) table = ki; else if(!strcmp(cod, "kw")) table = kw; else if(!strcmp(cod, "wa")) table = wa; else if(!strcmp(cod, "wi")) table = wi; else if(!strcmp(cod, "wk")) table = wk; else return; int i; int len=strlen(st); if(len<=0) return;
for(int l=0;l<len;l++) { i=st[l]; i &= 0377; if(i & 0200) i = table[i & 0177]; st[l]=i; } }
|
|