#include #include #define key 1000 #define plaintext 100000 void code(char *encode, char *text) { int vKodu; int vTextu; int *kod; int x, pozice, pomKey; vKodu = strlen(encode); vTextu = strlen(text); //printf("Velikost kodu: %d, velikost textu: %d\n", vKodu, vTextu); kod = malloc(vKodu*sizeof(int)); for(x = 0; x < vKodu; x++) { kod[x] = (int) encode[x]; } pomKey = 0; for(x = 0; x < vTextu; x++) { pozice = ((int) text[x]) + (kod[pomKey] - 65) + 1; if(pozice > 90) { pozice = 65 + (pozice - 91); } pomKey++; if(pomKey >= vKodu) pomKey = 0; printf("%c", pozice); } printf("\n"); } int main(void) { char keyt[key]; char plain[plaintext]; scanf("%s\n", &keyt); while(keyt[0]!='0') { scanf("%s", &plain); code(keyt, plain); scanf("%s", &keyt); } return 0; }