C++ - string decryption


SUBMITTED BY: Guest

DATE: Dec. 6, 2014, 4:04 p.m.

FORMAT: C++

SIZE: 1.3 kB

HITS: 5957

  1. //To be compiled using VS 2013
  2. #include <iostream>
  3. #include <string>
  4. #include <sstream>
  5. #include <conio.h>
  6. #define MOVE_C 3
  7. using namespace std;
  8. void ror(int tablica[], int wielkosc)
  9. {
  10. for (int i = 0; i < wielkosc; i++)
  11. {
  12. tablica[i] = (tablica[i] >> MOVE_C) | (tablica[i] << (sizeof(int)* CHAR_BIT - MOVE_C));
  13. }
  14. }
  15. int licz(string tekst)
  16. {
  17. int liczba = 0;
  18. for (int i = 0; i < tekst.size(); i++)
  19. if (tekst[i] == ' ')
  20. {
  21. liczba++;
  22. }
  23. return liczba;
  24. }
  25. int main()
  26. {
  27. string zaszyfrowane = "";
  28. cout << "Podaj zaszyfrowany tekst: ";
  29. getline(cin, zaszyfrowane);
  30. int dlugosc = licz(zaszyfrowane) + 1;
  31. int* zasztab = new int[dlugosc];
  32. char* _zasztab = new char[dlugosc];
  33. istringstream ciecie(zaszyfrowane);
  34. for (int x = 0; x < dlugosc; x++)
  35. {
  36. ciecie >> zasztab[x];
  37. }
  38. for (int i = 0; i < dlugosc; i++)
  39. {
  40. zasztab[i] = ~zasztab[i];
  41. }
  42. ror(zasztab, dlugosc);
  43. for (int z = 0; z < dlugosc; z++)
  44. {
  45. _zasztab[z] = zasztab[z];
  46. }
  47. cout << "Odszyfrowane: ";
  48. for (int j = 0; j < dlugosc; j++)
  49. {
  50. cout << _zasztab[j];
  51. }
  52. _getch();
  53. delete[] _zasztab;
  54. delete[] zasztab;
  55. return 0;
  56. }

comments powered by Disqus