Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <windows.h>
- #include <cstdlib>
- #include <string>
- #include <cmath>
- #include <ctime>
- #include <clocale>
- using namespace std;
- int main() {
- setlocale(LC_CTYPE, "Russian");
- int cp = GetConsoleCP();
- SetConsoleCP(1251);
- SetConsoleCP(cp);
- //SetConsoleOutputCP(1251);
- ifstream in("input.txt");
- ofstream out("output.txt");
- ofstream outKey("Key.txt");
- string CryptText, OpenText;
- string Alph = "абвгдеЄжзийклмнопрстуфхцчшщъыьэю€";
- int m = Alph.size();
- srand(time(NULL));
- int NumberRandomFirstSymbol;
- NumberRandomFirstSymbol = rand() % Alph.size();
- char RandomSymbol;
- RandomSymbol = Alph[NumberRandomFirstSymbol];
- cout << "RandomSymbol = " << RandomSymbol << endl;
- string key;
- key += RandomSymbol;
- while(!in.eof()) {
- string temp;
- getline(in, temp, '\t');
- OpenText += temp;
- }
- for(int i = 0; i < OpenText.size() - 1; i++) {
- if((OpenText[i] >= 'ј') && (OpenText[i] <= 'я')) {
- OpenText[i] += '€' - 'я';
- }
- }
- string FinalOpenText;
- for(int i = 0; i < OpenText.size(); i++) {
- for(int j = 0; j < Alph.size(); j++) {
- if(OpenText[i] == Alph[j]) {
- FinalOpenText += OpenText[i];
- }
- }
- }
- for(int i = 0; i < FinalOpenText.size() - 1; i++) {
- key += FinalOpenText[i];
- }
- outKey << RandomSymbol;
- cout << "Open Text: " << FinalOpenText << endl;
- cout << "Key-Word: " << key << endl;
- int first = 0, second = 0;
- int NumberSymbol = 0;
- for(int i = 0; i < FinalOpenText.size(); i++) {
- for(int j = 0; j < Alph.size(); j++) {
- if(FinalOpenText[i] == Alph[j]) {
- first = j;
- }
- }
- for(int j = 0; j < Alph.size(); j++) {
- if(key[i] == Alph[j]) {
- second = j;
- }
- }
- NumberSymbol = ((first + second) % m);
- CryptText += Alph[NumberSymbol];
- }
- cout << "Crypt Text: " << CryptText << endl;
- out << CryptText;
- in.close();
- out.close();
- outKey.close();
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement