Вопрос задан 25.05.2026 в 06:09. Предмет Информатика. Спрашивает Петренко Алина.

Решите задачу на 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.

Перейти к ответам

Ответы на вопрос

Отвечает .

Для решения задачи нужно пройти по каждому символу строки. Если символ — заглавная латинская буква (A–Z), сдвигаем его на 3 позиции вперёд с учётом цикличности: ('A' + (c - 'A' + 3) % 26). Аналогично для строчных (a–z). Остальные символы не меняем.

Пример кода:

#include
#include
using namespace std;
int main() {
string s;
getline(cin, s);
for (char &c : s) {
if (c >= 'A' && c = 'a' && c

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Информатика 21.05.2026 10:15 7 Гафаров Александр
Задать вопрос