Лучшие помощники
- Megamozg 2205 б
- Matalya1 1800 б
- DevAdmin 1720 б
- arkasha_bortnikov 900 б
- Dwayne_Johnson 870 б
2 апреля 2023 22:24
880
На 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
Остались вопросы?
Еще вопросы по категории Информатика
begin if (y <200) and (x > 100) then writeln('ДА') else writeln('НЕТ') end. Было проведено 10 запусков этой программы, при которых в качестве з...
Шахматная ладья ходит по горизонтали или вертикали. Даны две различные клетки шахматной доски, определите, может ли ладья попасть с первой клетки на в...
C++ как записать эту программу? Напишите функцию bool f(int x, int y), которая возвращает true, если x делится нацело на y, или наоборот, y делится н...
1. Что может быть опасным для здоровья при работе в компьютерном классе? большая нагрузка на зрение повышенная нагрузка на суставы кистей электричес...
Даны полные имена файлов, хранящихся на диске D:. D:\ COUNTRY \ USA \ INFO \ culture.txt D:\ COUNTRY \ USA \ Washington.txt D:\ COUNTRY \ RUSSIA \ M...