Процес шифрования / дешифрованием реализовуется методами Encrypt / Decript К большому сожалению, у меня очень мало опыта в написании алгоритмов шифрования, я не смог придумать как использовать К = 2, но условие а = 11 соблюдено. Каждая буква кодируется буквой которая находиться на 11 позицый дальше в таблице символов. Я думаю, что условие К = 2 можно реализовать, начав кодировку со второго символа. Это можно перлизовать изменив переменную i в методах Encript / Decript. Если вы поставите i = 1, вместо i = 0, то процес шифрования будет происходить начиная со 2го елемента. НО ЕСЛИ ИЗМЕНИТЕ i В ОДНОМ МЕТОДЕ, ИЗМЕНИТЕ ЕГО И ВО ВТОРОМ, ЧТОБ НЕ БЫЛО СБОЕВ. Если у Вас возникнут какие либо вопросы, свяжитесь со мной asdasfb@gmail.com и я с удовольствием Вам помогу #include #include std::string Encrypt(std::string& baseString); std::string Decrypt(std::string& encriptedString); int main() { setlocale(LC_ALL, "ru-RU"); std::string baseString = ""; std::cout << "Введите текст для шифрования: "; std::getline(std::cin, baseString); std::string t = Encrypt(baseString); std::cout << "Encrypted string: " << t << std::endl << "Decript string: " << Decrypt(t) << std::endl; system("pause"); return 0; } std::string Encrypt(std::string& baseString) { std::string encriptedString; for (size_t i = 0; i < baseString.length(); ++i) { auto encriptSymbol = static_cast(baseString[i]); encriptedString += static_cast(encriptSymbol + 11); } return encriptedString; } std::string Decrypt(std::string& encriptedString) { std::string decriptString; for (size_t i = 0; i < encriptedString.length(); ++i) { auto decriptSymbol = static_cast(encriptedString[i]); decriptString += static_cast(decriptSymbol - 11); } return decriptString; } Несколько примеров зашифровки и расшифровки текста Введите текст для шифрования: This text should be ENCRYPTED 2019 Зашифрованый текст: _st~+p?+~sz?wo+mp+PYN]d[_PO+=;