Лучшие помощники
- Megamozg 2200 б
- Matalya1 1800 б
- DevAdmin 1705 б
- arkasha_bortnikov 895 б
- Dwayne_Johnson 860 б
2 апреля 2023 22:24
793
На 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) анатомический муляж 2) макет дома 3) модель корабля 4) диаграмма...
1) Кегель - это : A. начиртание шрифта. B. Размер шрифта. C. Элемент абзаца. D. Маркер на линейке формирования. 2) Вывод перечня символов, в то...
Друзья решили зашифровать сообщения из английских букв записывая вместо каждой буквы её номер в алфавитном порядке (без пробелов) ...
Разделителями между операторами служит а; точка ,б; точка с запятой, В,пробел ,Г:запятая...
Разрядность процессора, объясните понятно кто нибудь ...
Все предметы