
Вопрос задан 24.06.2023 в 21:01.
Предмет Информатика.
Спрашивает Вавилов Алексей.
На c++ пожалуйста Шифр Цезаря В шифре Цезаря каждый символ, являющийся буквой латинского
алфавита, заменяется на другой символ, k-тый по счёту в алфавите после данного. Если этот символ выходит за границы, то берётся соответствующий из начала строки. Например, для k=3 символ A заменяется на D, символ B — на E, символ C — на F, ..., символ Z – на C. Аналогично, строчные буквы заменяются на строчные буквы. Все остальные символы не меняются. Дана строка, зашифруйте её при помощи шифра Цезаря для k=3. Входные данные Дана строка из символов с ASCII кодами от 32 до 127 длиной не больше 10000 символов. Выходные данные Выведите ответ на задачу. Примеры Ввод Вывод In a hole in the ground there lived a hobbit. Lq d kroh lq wkh jurxqg wkhuh olyhg d kreelw.

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

Отвечает Сорокина Алиса.
Ответ:
#include <iostream>
#include <set>
using namespace std;
int main()
{
string a, res;
getline(cin, a);
for(int i = 0; i < a.length(); i++){
if((int)a[i] >= 65 && (int)a[i] <= 90) res += (char)(65 + (((((int)a[i]) - 65) + 3) % 26));
else if((int)a[i] >= 97 && (int)a[i] <= 122) res += (char)(97 + (((((int)a[i]) - 97) + 3) % 26));
else res += a[i];
}
cout << res;
return 0;
}
Объяснение:



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Вот пример реализации шифра Цезаря на C++ для заданного значения k=3:
cpp#include <iostream>
#include <string>
using namespace std;
string encryptCaesarCipher(const string& input, int k) {
string result = "";
for (char c : input) {
if (isalpha(c)) { // Проверяем, является ли символ буквой
char base = isupper(c) ? 'A' : 'a'; // Определяем базовую букву (верхний или нижний регистр)
result += static_cast<char>((c - base + k) % 26 + base); // Применяем шифр Цезаря
} else {
result += c; // Оставляем символы, которые не являются буквами неизменными
}
}
return result;
}
int main() {
string input;
getline(cin, input);
int k = 3;
string encrypted = encryptCaesarCipher(input, k);
cout << encrypted << endl;
return 0;
}
Вы можете скопировать этот код, скомпилировать его и запустить на входных данных, чтобы зашифровать строку при помощи шифра Цезаря с k=3.


Похожие вопросы
Топ вопросов за вчера в категории Информатика

Информатика 562

Информатика 404

Информатика 31

Информатика 76

Информатика 16

Информатика 41

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