
Помогите пожалуйста как закодировать выражение новый год шифром цезаря


Ответы на вопрос

#include <string>
using namespace std;
string encode(string, int);
string decode(string, int);
int main() {
cout << " word: ";
string word;
getline(cin, word);
cout << " shift: ";
int shift;
cin >> shift;
string code = encode(word, shift);
cout << " encode: " << code << endl;
string text = decode(code, shift);
cout << " decode: " << text << endl;
cin.sync();
cin.get();
}
string encode(string text, int shift) {
string code = text;
int size = code.size();
for (int i = 0; i < size; ++i) code[i] += shift;
return code;
}
string decode(string code, int shift) {
string text = code;
int size = code.size();
for (int i = 0; i < size; ++i) text[i] -= shift;
return text;



Шифр Цезаря - это метод шифрования, в котором каждая буква в сообщении заменяется на букву, находящуюся на определенное количество позиций в алфавите выше или ниже (в зависимости от выбранного ключа).
Чтобы закодировать выражение "новый год" шифром Цезаря, нужно выбрать ключ (количество позиций, на которое будут сдвигаться буквы) и заменить каждую букву в сообщении на букву, находящуюся на заданном расстоянии в алфавите.
Например, если мы выберем ключ 3, то буква "н" будет заменена на "р", буква "о" на "р", буква "в" на "г", буква "ы" на "ь", буква "й" на "л", буква "г" на "д". Таким образом, закодированное выражение "новый год" при ключе 3 будет выглядеть как "рргьлдд".
Для декодирования закодированного сообщения нужно знать ключ и применить обратную операцию - заменить каждую букву на букву, находящуюся на заданном расстоянии в алфавите в обратном направлении.



Шифр Цезаря для выражения "новый год"
Для закодирования выражения "новый год" шифром Цезаря, мы будем использовать сдвиг букв в алфавите на определенное количество позиций. В данном случае, мы можем выбрать любое число для сдвига, но для примера давайте выберем сдвиг на 3 позиции вперед.
Шаги для кодирования:
1. Выбор алфавита: В качестве алфавита мы будем использовать стандартный английский алфавит от A до Z. 2. Сдвиг букв: Каждая буква в выражении "новый год" будет заменена на букву, находящуюся на 3 позиции вперед от исходной буквы в алфавите.Пример кодирования:
- Исходное выражение: новый год - Сдвиг: 3 позиции впередРезультат:
- Закодированное выражение: qryb|b rqgТаким образом, выражение "новый год" при использовании шифра Цезаря с сдвигом на 3 позиции вперед будет выглядеть как qryb|b rqg.


Топ вопросов за вчера в категории Литература
Последние заданные вопросы в категории Литература
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili