Advertisement
AlessandroG

codifica vigenere

Jun 15th, 2015
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.40 KB | None | 0 0
  1.  
  2. #include <stdio.h>
  3.  
  4. void cripta(char x[],char y[],int dimC,int dimT)
  5. {
  6.    
  7.     int i=0,j=0;
  8.     for(i = 0; i < dimT; i++){
  9.         if(x[i]>='a'&& x[i]<='z')
  10.             x+='A'-'a';
  11.         else
  12.             if(x[i]<'A'||x[i]>'Z')
  13.                 continue;
  14.                
  15.     printf("%c ",((x[i]+y[j]-2*'A')%26+'A'));
  16.     j = (j + 1) % dimC;
  17.    
  18.     }
  19.  
  20. }
  21.  
  22. void deCripta(char x[],char y[],int dimC,int dimT)
  23. {
  24.     int i=0,j=0;
  25.     for(i = 0; i < dimT; i++){
  26.         if(x[i]>='a'&& x[i]<='z')
  27.             x[i]+='A'-'a';
  28.         else
  29.             if(x[i]<'A'||x[i]>'Z')
  30.                 continue;
  31.         printf("%c ",((x[i]-y[j]+26)%26+'A'));
  32.         j = (j + 1) % dimC;
  33.     }
  34. }
  35.  
  36.  
  37. int main()
  38. {
  39.     int i=0,dimTesto=0,dimChiave=0,j=0;
  40.     char scelta;
  41.     printf("si desidera Criptare (C) o Decriptare (D) ?");
  42.     scanf("%c",&scelta);
  43.    
  44.     printf("Inserire il numero di caratteri da criptare: \n");
  45.     scanf("%i",&dimTesto);
  46.     char testo[dimTesto];
  47.    
  48.     printf("Inserire il numero di caratteri della chiave: \n");
  49.     scanf("%i",&dimChiave);
  50.     char chiave[dimChiave];
  51.    
  52.     if(scelta=='C'){
  53.    
  54.     printf("Inserire la stringa da Criptare: \n");
  55.     scanf("%s",&testo);
  56.     printf("inserire la chiave : \n");
  57.     scanf("%s",&chiave);
  58.     cripta(testo,chiave,dimChiave,dimTesto);
  59.     }
  60.     if(scelta=='D'){
  61.         printf("Inserire la stringa da deCriptare: \n");
  62.         for(i=0;i<dimTesto;i++){
  63.             printf("%i :",i);
  64.             scanf("%s",&testo);    
  65.         }
  66.         printf("inserire la chiave : \n");
  67.         scanf("%s",&chiave);
  68.         deCripta(testo,chiave,dimChiave,dimTesto);
  69.     }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement