Advertisement
Guest User

Untitled

a guest
May 22nd, 2018
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. #include <fstream>
  4.  
  5. #include <cstring>
  6.  
  7. using namespace std;
  8.  
  9.  
  10.  
  11. int main()
  12.  
  13. {
  14.  
  15. char tab[2][26];
  16.  
  17. int a=97;
  18.  
  19. for(int i=0;i<26;i++)
  20.  
  21. tab[0][i]=a++;
  22.  
  23. cout<<"podaj slowo klucz ";
  24.  
  25. char klucz[100];
  26.  
  27. int z=0;
  28.  
  29. int j;
  30.  
  31. int x=strlen(klucz);
  32.  
  33. for(int i=0; i<x; i++)
  34.  
  35. {
  36.  
  37. j=i-1;
  38.  
  39. while(klucz[i]!=tab[1][j] &&j>=0) j--;
  40.  
  41. if(j<0)
  42.  
  43. {
  44.  
  45. tab[1][z]=klucz[i];
  46.  
  47. z++;
  48.  
  49. }
  50.  
  51. }
  52.  
  53. char znak=tab[1][z-1];
  54.  
  55. while(z<26)
  56.  
  57. {
  58.  
  59. if(znak<122)
  60.  
  61. znak++;
  62.  
  63. else znak=znak+1-26;
  64.  
  65. j=z-1;
  66.  
  67. while(znak!=tab[1][j] &&j>=0) j--;
  68.  
  69. if(j>0)
  70.  
  71. {
  72.  
  73. tab[1][z]=znak;
  74.  
  75. z++;
  76.  
  77. }
  78.  
  79. }
  80.  
  81. for(int i=0;i<26;i++)
  82.  
  83. cout<<tab[0][i]<<' ';
  84.  
  85. cout<<endl;
  86.  
  87. for(int i=0;i<26;i++)
  88.  
  89. cout<<tab[1][i]<<' ';
  90.  
  91. char tekst[1000];
  92.  
  93. ifstream odczyt("tekst.txt");
  94.  
  95. odczyt.getline(tekst,1000);
  96.  
  97. cout<<"pobrany tekst " <<tekst<<endl;
  98.  
  99. unsigned n=strlen(tekst);
  100.  
  101. char p,k,q;
  102.  
  103. for(int i=0;i<n;i++)
  104.  
  105. {
  106.  
  107. p=0; k=25;
  108.  
  109. do
  110.  
  111. {
  112.  
  113. q=tab[0][(p+k)/2];
  114.  
  115. if(q==tekst[i]) tekst[i]=tab[1][(p+k)/2];
  116.  
  117. else if (q>tekst[i]) p=q;
  118.  
  119. else k=q;
  120.  
  121.  
  122.  
  123. }while(q!=tekst[i]);
  124.  
  125. }
  126.  
  127. cout<<"zaszyfrowany tekst "<<tekst<<endl;
  128.  
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement