Лучшие помощники
- Megamozg 2205 б
- Matalya1 1800 б
- DevAdmin 1720 б
- arkasha_bortnikov 900 б
- Dwayne_Johnson 870 б
2 апреля 2023 22:24
898
На 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
Остались вопросы?
Еще вопросы по категории Информатика
Какими особенностями обладает системная шина ЭВМ...
Информационное сообщение обьемом 375 байтов состоит из 500 символов.Каков информационный вес каждого символа этого сообщения?Какова мощность алфавита,...
Информационно-коммуникационные технологии 1. Доступ к файлу slon.txt, находящемуся на сервере circ.org, осуществляется по протоколу http. Фрагменты ад...
Переведите целые числа из десятичной системы счисления в восьмеричную: а) 513; б) 600; в) 2010....
1. Запишите на алгоритмическом языке: а)ax² + bx + c б) v + at²/2 в)1/2(a+b)h г)1+x₁x₂/ b²c д)√a²+b² 2. Среди приведённых ниже четырёх арифметиче...