Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<vector>
- #include<stdlib.h>
- #include <stdexcept>
- #include <fstream>
- #include <string>
- #include <algorithm>
- #include <stddef.h>
- using namespace std;
- void changeuppercase(vector<char>& word, int size)
- {
- for (int i = 0; i < size; i++)
- {
- if (word[i] >= 97 && word[i] <= 122)
- word[i] -= 32;
- }
- }
- void printtext(vector<char> word, int size)
- {
- for (int i = 0; i < size; i++)
- {
- cout << (char)(word[i] + 65);
- }
- cout << endl;
- return;
- }
- size_t getinput(vector<char>& sen)
- {
- char b;
- while (1)
- {
- b = getchar();
- if (b == '\n')
- break;
- sen.push_back(b);
- }
- return sen.size();
- }
- int main()
- {
- vector<char> sen;
- vector<char> enc_sen;
- vector<char> dec_sen;
- int *p;
- int j;
- size_t size;
- cout << "Enter Message to Encrypt:";
- size = getinput(sen);
- changeuppercase(sen, size);
- p = (int*)malloc(sen.size() * sizeof(int));
- for (j = 0; j < size; j++)
- {
- p[j] = rand() % 26;
- if (sen[j] >= 65 && sen[j] <= 90)
- enc_sen.push_back((char)((sen[j] - 65 + p[j]) % 26));
- else if (sen[j] >= 97 && sen[j] <= 122)
- enc_sen.push_back((char)((sen[j] - 97 + p[j]) % 26));
- else
- enc_sen.push_back((char)sen[j]);
- }
- cout << "\nEncoded Message:";
- printtext(enc_sen, size);
- cout << "\nKey for decryption:\n";
- for (j = 0; j < size; j++)
- {
- cout << (char)(p[j] + 65);
- }
- cout << endl;
- cout << "\nDecrypted Message:";
- for (j = 0; j < size; j++)
- {
- if ((enc_sen[j] - p[j]) < 0)
- dec_sen.push_back((char)(enc_sen[j] - p[j] + 26));
- else if ((enc_sen[j] - p[j]) >= 0)
- dec_sen.push_back((char)(enc_sen[j] - p[j]));
- else
- dec_sen.push_back((char)enc_sen[j]);
- }
- printtext(dec_sen, size);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment