Advertisement
poczatkujacykoder

Untitled

Oct 22nd, 2014
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.56 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int i, j, k, m, r;
  5.  
  6. char *szyfr;
  7. char klucz[] = "asdads";
  8. char zakodowane[999];
  9.  
  10.  
  11.  
  12.  
  13. fpos_t dz_abc_fpos_t;
  14. int dz_abc_int;
  15. int dl_tekstu;
  16. fpos_t dl_tekstu_fpos_t;
  17.  
  18.  
  19. void f_szyfr(int z);
  20. void f_klucz();
  21. void f_reszta(int d);
  22. int main(){
  23.    
  24.  
  25.     FILE *code_file = fopen("szyfr.txt", "r");
  26.     if (!code_file)
  27.         return -1;
  28.  
  29.  
  30.  
  31.     ////////////////////////////   ustawienie wskaznika na koniec pliku + liczba bitow + ustawienie wskaznika na poczatek pliku
  32.     fseek(code_file, 0, SEEK_END);
  33.     fgetpos(code_file, &dl_tekstu_fpos_t);
  34.     fseek(code_file, 0, 0);
  35.     dl_tekstu = (int)dl_tekstu_fpos_t;
  36.  
  37.     ////////////////////////////
  38.     //printf("%d",dl_tekstu);
  39.  
  40.  
  41.     szyfr = ((char*)malloc(dl_tekstu*(sizeof(char)) + 1));
  42.     if (!szyfr)
  43.         return -2;
  44.  
  45.  
  46.     for (i = 0; i < dl_tekstu; i++){
  47.         fscanf(code_file, "%s", szyfr);
  48.     }
  49.  
  50.  
  51.     //printf("elo");
  52.     ////////////////////////////
  53.  
  54.     f_szyfr(dl_tekstu);
  55.     f_klucz();
  56.     f_reszta(dl_tekstu);
  57.  
  58.     //////////////////////////// ZAPISYWANIE DO PLIKU "ZASZYFROWANE.TXT"
  59.     FILE* zapis_szyfru;
  60.     zapis_szyfru = fopen("zaszyfrowane.txt", "w");
  61.     if (!zapis_szyfru)
  62.         return -3;
  63.  
  64.     fprintf(zapis_szyfru, "%s", zakodowane);
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.     fclose(zapis_szyfru);
  73.     free(szyfr);
  74.     fclose(code_file);
  75.  
  76.     system("pause");
  77.     return 0;
  78. }
  79. ////////////////////////////
  80. void f_szyfr(int z){
  81.     int j = 97;
  82.     printf("%s", szyfr);
  83.     printf("dlugosc szyfru =  %d\n\n", z);
  84.  
  85.     for (i = 0; i < z; i++){
  86.         for (k = 0; k<26; k++){
  87.             if (szyfr[i] == j)
  88.                 szyfr[i] = k;
  89.  
  90.             j++;
  91.         }
  92.         j = 97;
  93.     }
  94.  
  95.     for (i = 0; i < z; i++)
  96.         printf("%d\t", szyfr[i]);
  97.  
  98.  
  99. }
  100. ////////////////////////////
  101. void f_klucz(){
  102.     int j = 97;
  103.  
  104.     printf("slowo szyfrujace to: %s\n", klucz);
  105.     printf("dlugosc klucza = %d\n\n", sizeof(klucz) - 1);
  106.  
  107.     for (i = 0; i < sizeof(klucz) - 1; i++){
  108.         for (k = 0; k<26; k++){
  109.             if ((klucz[i] == j))
  110.                 ((klucz[i] = k));
  111.  
  112.             j++;
  113.         }
  114.         j = 97;
  115.     }
  116.  
  117.     for (i = 0; i < sizeof(klucz) - 1; i++)
  118.         printf("%d\t", klucz[i]);
  119.  
  120.     printf("//\n/end_of_klucz///\n");
  121.  
  122. }
  123. ////////////////////////////
  124. void f_reszta(int d){
  125.  
  126.     j = 0;
  127.     for (i = 0; i < d; i++){
  128.         ;
  129.  
  130.         if (j == sizeof(klucz) - 1)
  131.             j = 0;
  132.  
  133.         zakodowane[i] = ((szyfr[i] + klucz[j]) % 26);
  134.         j++;
  135.     }
  136.     for (i = 0; i < d; i++)
  137.     {
  138.         printf("%d\t", zakodowane[i]);
  139.     }
  140.  
  141.  
  142.  
  143.     for (i = 0; i < d; i++){  /// zamienia na ASCII
  144.         j = 97;
  145.         for (k = 0; k<26; k++){
  146.             if (zakodowane[i] == k)
  147.                 zakodowane[i] = j;
  148.  
  149.             j++;
  150.         }
  151.  
  152.     }
  153.     printf("\n");
  154.  
  155.     for (i = 0; i < d; i++)
  156.     {
  157.         printf("%c", zakodowane[i]);
  158.     }
  159.     printf("\n\n\n\n");
  160. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement