Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.19 KB | None | 0 0
  1. #include <iostream>
  2. #include <regex>
  3. #include <fstream>
  4.  
  5. using namespace std;
  6.  
  7. void Szyfrowanie(){
  8. string tekst;
  9. cout<<"Podaj tekst: ";
  10. cin>>tekst;
  11.  
  12. //usuwanie białych znaków z wiadomości
  13. //tekst = regex_replace(tekst, regex("\S+"), ""); //regex zajmuje sie wyrazeniamy regularnymi
  14.  
  15. cout<<"Podaj klucz: ";
  16. int klucz;
  17. cin>>klucz;
  18.  
  19. char plotek[klucz][tekst.length()];
  20.  
  21. //STWORZENIE PUSTEJ TABLICY
  22. for(int i=0; i<klucz; i++){
  23. for(int j=0; j<tekst.length(); j++) {
  24. plotek[i][j] = '.';
  25. }
  26. }
  27.  
  28. //umieszczanie liter jedna po druegiej w macierzy w zig-zag
  29. int row = 0;
  30. int check = 0;
  31. for(int i=0; i<tekst.length(); i++){
  32. if(check==0){
  33. plotek[row][i]=tekst[i];
  34. row++;
  35. if(row==klucz){
  36. check = 1;
  37. row--;
  38. }
  39. }
  40. else if(check==1){
  41. row--;
  42. plotek[row][i]=tekst[i];
  43. if(row==0){
  44. check=0;
  45. row=1;
  46. }
  47. }
  48. }
  49. //tworzenie zaszyfrowanego tekstu
  50. string Zaszyfrowany = "";
  51. for(int i=0; i<klucz; i++){
  52. for(int j=0; j<tekst.length(); j++){
  53. cout << plotek[i][j];
  54. Zaszyfrowany += plotek[i][j];
  55. }
  56. cout<<endl;
  57.  
  58. }
  59. //usunięcie kropek z zaszyfrowanego tekstu
  60. Zaszyfrowany = regex_replace(Zaszyfrowany, regex("\\."), ""); //DZIĘKI TEJ LINIJCE USUWAMY KROPKI
  61. cout <<"Zaszyfrowany tekst: " <<endl <<Zaszyfrowany;
  62.  
  63. //ZAPIS ZASZYFROWANEGO TEKSTU DO PLIKU
  64. fstream plik;
  65. plik.open("zaszyfrowany.txt",ios::out);
  66. plik<<Zaszyfrowany<<endl;
  67. plik.close();
  68. plik.clear();
  69.  
  70.  
  71. }
  72.  
  73. int main()
  74. {
  75. cout<<"1. Szyfruj "<<endl;
  76. cout<<"2. Deszyfruj "<<endl;
  77. int wybor;
  78. cin>>wybor;
  79.  
  80. if(wybor==1)
  81. {
  82. cout<<"Szyfrowanie "<<endl;
  83. Szyfrowanie();
  84. }
  85. /* else if(wybor==2)
  86. {
  87. cout<<"Deszyfrowanie "<<endl;
  88. Deszyfrowanie();
  89. }*/
  90. else
  91. {
  92. cout<<"Zly wybor. Sprobuj jeszcze raz. "<<endl;
  93. }
  94.  
  95. return 0;
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement