#include #define M 201 int hossz(char c[]){ int i; for(i = 0; c[i]!= '\0'; i++); return i; } int main(){ int tipus; int oszlopsz; char bes[M]; char kis[M]; int i, j, l; //beolvas FILE *be = fopen("be.txt","r"); fscanf(be,"%d %d", &tipus, &oszlopsz); int kulcs[oszlopsz]; for(i = 0; i < oszlopsz; i++ ){ fscanf(be,"%d", &kulcs[i]); } fscanf(be, "%s", bes); fclose(be); //sor int h = hossz(bes); int sor = h / oszlopsz; char s[sor][oszlopsz]; //kodolas if(tipus == 1){ int k = 0; for(i = 0; i < sor; i++){ for(j = 0; j < oszlopsz; j++){ s[i][j] = bes[k]; k++; } } k = 0; for(i = 0; i < oszlopsz; i++){ for(j = 1; j <= oszlopsz; j++){ if(kulcs[i] == j){ for(l = 0; l < sor; l++){ kis[k] = s[l][j-1]; //j-1 mert 0-6 ig van elem k++; } } } } }else{ //dekodolas int k = 0; for(i = 0; i < oszlopsz; i++){ for(j = 1; j<=oszlopsz; j++){ if(kulcs[i] == j){ for(l = 0; l < sor; l++){ s[l][j-1] = bes[k]; k++; } } } } k = 0; for(i = 0; i < sor; i++){ for(j = 0; j < oszlopsz; j++){ kis[k] = s[i][j]; k++; } } } //kiiras fajlba FILE *ki = fopen("ki.txt","w"); for(i=0; i