Guest User

Untitled

a guest
Dec 3rd, 2015
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<iostream>
  2. #include<vector>
  3. #include<stdlib.h>
  4. #include <stdexcept>
  5. #include <fstream>
  6. #include <string>
  7. #include <algorithm>
  8. #include <stddef.h>
  9.  
  10. using namespace std;
  11.  
  12. void changeuppercase(vector<char>& word, int size)
  13. {
  14. for (int i = 0; i < size; i++)
  15. {
  16. if (word[i] >= 97 && word[i] <= 122)
  17. word[i] -= 32;
  18. }
  19. }
  20. void printtext(vector<char> word, int size)
  21. {
  22. for (int i = 0; i < size; i++)
  23. {
  24. cout << (char)(word[i] + 65);
  25. }
  26. cout << endl;
  27. return;
  28. }
  29. size_t getinput(vector<char>& sen)
  30. {
  31. char b;
  32. while (1)
  33. {
  34. b = getchar();
  35. if (b == '\n')
  36. break;
  37. sen.push_back(b);
  38. }
  39. return sen.size();
  40. }
  41. int main()
  42. {
  43. vector<char> sen;
  44. vector<char> enc_sen;
  45. vector<char> dec_sen;
  46. int *p;
  47. int j;
  48. size_t size;
  49. cout << "Enter Message to Encrypt:";
  50. size = getinput(sen);
  51. changeuppercase(sen, size);
  52. p = (int*)malloc(sen.size() * sizeof(int));
  53. for (j = 0; j < size; j++)
  54. {
  55. p[j] = rand() % 26;
  56. if (sen[j] >= 65 && sen[j] <= 90)
  57. enc_sen.push_back((char)((sen[j] - 65 + p[j]) % 26));
  58. else if (sen[j] >= 97 && sen[j] <= 122)
  59. enc_sen.push_back((char)((sen[j] - 97 + p[j]) % 26));
  60. else
  61. enc_sen.push_back((char)sen[j]);
  62. }
  63. cout << "\nEncoded Message:";
  64. printtext(enc_sen, size);
  65. cout << "\nKey for decryption:\n";
  66. for (j = 0; j < size; j++)
  67. {
  68. cout << (char)(p[j] + 65);
  69. }
  70. cout << endl;
  71. cout << "\nDecrypted Message:";
  72. for (j = 0; j < size; j++)
  73. {
  74. if ((enc_sen[j] - p[j]) < 0)
  75. dec_sen.push_back((char)(enc_sen[j] - p[j] + 26));
  76. else if ((enc_sen[j] - p[j]) >= 0)
  77. dec_sen.push_back((char)(enc_sen[j] - p[j]));
  78. else
  79. dec_sen.push_back((char)enc_sen[j]);
  80. }
  81. printtext(dec_sen, size);
  82. return 0;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment