Лучшие помощники
- Megamozg 2205 б
- Matalya1 1800 б
- DevAdmin 1720 б
- arkasha_bortnikov 900 б
- Dwayne_Johnson 870 б
2 апреля 2023 22:24
973
На 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.
1
ответ
Ответ:
#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;
}
Объяснение:
#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;
}
Объяснение:
0
·
Хороший ответ
4 апреля 2023 22:24
Остались вопросы?
Еще вопросы по категории Информатика
Как записать простейшее матричное уравнение?...
На рисунке изображена схема дорог, связывающих торговые точки А, Б , В , Г, Д, Е, Ж. По каждой дороге можно двигаться только в направлении, указанном...
1.В терминологии сетей ТСР/Р маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая - к...
Даю 22 балла Какое МАКСИМАЛЬНОЕ количество вопросов достаточно задать вашему собеседнику, чтобы точно определить день и месяц его рождения? Сделать по...
1)Что понимается под формотированиме текста?В чём основная цель формотирования? 2)Что можно изменять в процессоре форматирование символов? 3)Что можн...