Вопрос задан 24.06.2023 в 12:54. Предмет Информатика. Спрашивает Черенков Максим.

Решите задачу на C++ В шифре Цезаря каждый символ, являющийся буквой латинского алфавита,

заменяется на другой символ, k-тый по счёту в алфавите после данного. Если этот символ выходит за границы, то берётся соответствующий из начала строки. Например, для k=3 символ A заменяется на D, символ B — на E, символ C — на F, ..., символ Z – на C. Аналогично, строчные буквы заменяются на строчные буквы. Все остальные символы не меняются. Дана строка, зашифруйте её при помощи шифра Цезаря для k=3. Пожалуйста, 25 баллов
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Кудряшова Аня.

Ответ:

#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;

}

Объяснение:

Алгоритм простой. Побуквенно считываем строку и если буква - элемент латинского алфавита - кодируем ее, иначе оставляем как есть.

P.s. Если помог ответ, жмякните на "Спасибо", пожалуйста. Это мотивирует давать ответы дальше.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот пример кода на C++, который зашифрует строку с использованием шифра Цезаря для k=3:

cpp
#include <iostream> #include <string> using namespace std; string encryptCaesarCipher(const string& input, int shift) { string encryptedText = input; for (char& c : encryptedText) { if (isalpha(c)) { char base = isupper(c) ? 'A' : 'a'; c = static_cast<char>((c - base + shift) % 26 + base); } } return encryptedText; } int main() { string input; cout << "Введите строку для шифрования: "; getline(cin, input); int shift = 3; // Значение k для шифра Цезаря string encryptedText = encryptCaesarCipher(input, shift); cout << "Зашифрованная строка: " << encryptedText << endl; return 0; }

Этот код сначала запрашивает ввод строки, а затем шифрует ее, используя шифр Цезаря с сдвигом k=3. Зашифрованный текст выводится на экран.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос