Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "pch.h"
- #include <fstream>
- #include <string>
- #include <algorithm>
- #include <iostream>
- using namespace std;
- //Объявляем массив символов русского и английского алфавита
- string alpha = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
- int code(char str)
- {
- for (int i = 0; i < 33; i++) {
- if (str == alpha[i])
- return i;
- }
- }
- int main() {
- system("chcp 1251");
- system("cls");
- setlocale(LC_ALL, "Russian");
- ifstream start("start.txt");
- ofstream output("out.txt");
- char alphaB[30][2] = { ' ' };
- string message;
- string key;
- string keybuf;
- getline(start, key);
- getline(start, message);
- cout << endl;
- int o;
- int ukazi = 0;
- int ukazj = 0;
- if (key.length() > 16) {
- while (key.length() > 0)
- {
- char buf = key[0];
- key.erase(0, 1);
- int check = 0;
- for (int i = 0; i < ukazi; ++i) {
- if (buf == alphaB[i][0]) check = 1;
- }
- if (check == 0) {
- alpha.erase(code(buf), 1);
- keybuf += buf;
- ukazi += 1;
- }
- }
- keybuf += ' ';
- int iter = 0;
- while (!keybuf.empty()) {
- char buff = keybuf[0];
- char bufs;
- if (alpha[0] != ',') {
- bufs = alpha[0];
- alpha.erase(0, 1);
- }
- else if (keybuf[1] != ' ') {
- bufs = keybuf[1];
- keybuf.erase(0, 1);
- }
- else {
- bufs = buff;
- keybuf.erase(0, 1);
- }
- keybuf.erase(0, 1);
- alphaB[iter][0] = buff;
- alphaB[iter][1] = bufs;
- iter++;
- }
- }
- else {
- for (int i = 0; i < key.length(); ++i)
- {
- for (int j = 0; j < alpha.length(); ++j) {
- if (key[i] == alpha[j]) alpha.erase(j, 1);
- }
- }
- while (alpha.length() > 0) {
- cout << endl << alpha << " " << key ;
- char bufk;
- if (key.length() >= 1) {
- bufk = key[0];
- key.erase(0, 1);
- } else if (alpha.length() == 1) {
- alphaB[ukazi][0] = alpha[0];
- alphaB[ukazi][1] = alpha[0];
- alpha.erase(0, 1);
- ukazi++;
- cout << "1 left";
- break;
- }else {
- bufk = alpha[0];
- alpha.erase(0, 1);
- }
- cout << endl << alpha << " " << key << endl;
- int check = 0;
- for (int i = 0; i < ukazi; ++i)
- {
- if (bufk == alphaB[i][1]) check = 1;
- }
- if (check == 0)
- {
- alphaB[ukazi][1] = bufk;
- alphaB[ukazi][0] = alpha[0];
- alpha.erase(0, 1);
- ukazi++;
- }
- }
- }
- cout << "sfef "<<alpha << endl;
- for (int i = 0; i < ukazi; ++i) {
- cout << alphaB[i][0] << ' ';
- }
- cout << endl;
- for (int i = 0; i < ukazi; ++i) {
- cout << alphaB[i][1] << ' ';
- }
- cout << endl;
- while (!message.empty()) {
- char buf;
- buf = message[0];
- message.erase(0, 1);
- for (int i = 0; i < ukazi; ++i) {
- if (buf == alphaB[i][0]) {
- cout << alphaB[i][1];
- output << alphaB[i][1];
- break;
- }
- else if (buf == alphaB[i][1]) {
- cout << alphaB[i][0];
- output << alphaB[i][0];
- break;
- }
- if (buf == ' ') {
- cout << ' ';
- output << ' ';
- break;
- }
- }
- }
- cout << endl;
- system("pause");
- return 0;
- }
Add Comment
Please, Sign In to add comment