Предмет: Информатика, автор: dashenkavorobyova

На 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.

Ответы

Автор ответа: Dre4nt
4

Ответ:

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

}

Объяснение:

Похожие вопросы
Предмет: Українська мова, автор: Mitrohin