Keresés

Új hozzászólás Aktív témák

  • #PeTeY#

    aktív tag

    válasz kovisoft #5982 üzenetére

    Rendben. Szóval, a lényeg, hogy kódolni kéne egy szöveget úgy, hogy egy megadott kulcs alapján olvasom ki oszloponként a szöveget alulról felfelé. Sikerül megcsinálni a kódolás részét, azaz megfelelő sorrendben adja vissza az oszlopokat, de nem alulról felfelé. És nem látom, miért. Bár biztos ez is tök egyszerű:

    #include <stdio.h>
    #include <stdlib.h>

    int main()
    {
        int kod = 7;
        int kulcs[32] = {3,4,2,1,5,6,7};
        char szoveg[256] = {"eztaszovegetkelltitkositanod"};
        int n = 28 / kod;
        char tomb[n][kod];

        FILE* ki = fopen("ki.txt", "w");

     if (ki == NULL) {
      printf("Nem sikerült megynitni a ki.txt-t! (%d)\n", __LINE__);
      exit(1);
     }

        int i, j, count = 0;
        for (i=0; i<n; ++i) {
            for (j=0; j<kod; ++j) {
                tomb[i][j]=szoveg[count];
                count=count+1;
                fprintf(ki, "%c ", tomb[i][j]);

            }
            fprintf(ki, "\n");
        }

        fclose(ki);

        FILE* ki2 = fopen("ki2.txt", "w");

        if (ki2 == NULL) {
      printf("Nem sikerült megynitni a ki.txt-t! (%d)\n", __LINE__);
      exit(2);
     }

     char kodolt[256];
        int l=0;

     for(j=0; j<kod; j++) {
      for(i=0; i<n; i++) {
                kodolt[l] = tomb[i][kulcs[j]-1];
                fprintf(ki2, "%c", kodolt[l]);
            }
        }

        fclose(ki2);
        return 0;
    }

Új hozzászólás Aktív témák

Hirdetés