Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. #include<iostream>
  2. #include<cmath>
  3.  
  4. using namespace std;
  5.  
  6. char litera(string, int, int);
  7. double blad(string);
  8.  
  9. main()
  10. {
  11. double tabBledow[26];
  12. string napis = "abcde";
  13. string szyfr;
  14.  
  15.  
  16. for(int i=0; i<26; i++)
  17. {
  18. for(int j=0; j<napis.length(); j++)
  19. {
  20. szyfr[j] = litera(napis, i, j);
  21. }
  22. cout << "Dla klucza:"<< i <<endl;
  23. cout << blad(szyfr);
  24. tabBledow[i] = blad(szyfr);
  25. }
  26. }
  27.  
  28. char litera(string napis, int klucz, int miejsce)
  29. {
  30. return (char)((((int)napis[miejsce]-97+klucz)%26)+97);
  31. };
  32.  
  33. double blad(string szyfr)
  34. {
  35. double pwn[26]={0.099, 0.0147, 0.0436, 0.0325, 0.0877, 0.003, 0.0142, 0.0108, 0.0821, 0.0228, 0.0351, 0.0392, 0.028, 0.0572, 0.086, 0.0313, 0.0014, 0.0469, 0.0498, 0.0398, 0.025, 0.0004, 0.0465, 0.0002, 0.0376, 0.0653};
  36. int tab[26];
  37. for(int i = 0; i<26; i++) {tab[i]=0;}
  38. double suma;
  39. double szukana;
  40.  
  41. for(int i = 0; i<szyfr.length(); i++)
  42. {
  43. tab[((int)szyfr[i])-97] += 1;
  44. }
  45.  
  46. for(int i = 0; i<26; i++)
  47. {
  48. suma += fabs((tab[i]/szyfr.length())-pwn[i]);
  49. }
  50. szukana = (1 - suma/26);
  51. return (szukana);
  52. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement