Шифрование
Пора браться ещё за один проект! В этом мини-проекте строки и функции из двух последних уроков работаютвместе со всем, что вы узнали раньше. Как и в прошлых мини-проектах, в задании сказано, что должна выводитьпрограмма, а каждое упражнение ещё и запускает вашу программу с другими данными.
Проект. Вы с другом отправляете друг другу тайные сообщения. За три упражнения вашапрограмма зашифрует сообщение, расшифрует ответ друга и, наконец, взломает сообщение, ключа к которому вы незнаете.
Шифр. Вы будете использовать один из древнейших шифров, которым, как говорят, пользовалсяЮлий Цезарь: каждая буква сдвигается на несколько мест дальше по алфавиту. При сдвиге 3 буква a превращается вd, b — в e и так далее. В конце алфавита счёт продолжается с начала: x превращается в a, y — в b, а z — в c.Заглавные буквы остаются заглавными, а всё, что не буквы, например пробелы, цифры и знаки препинания,остаётся как есть.
Данные. В массиве message лежит сообщение, а shift говорит, насколько мест сдвигается каждая буква. Программа должна работать и с другими сообщениями, и с любым сдвигом от 1до 25. Сообщения написаны по-английски: шифр сдвигает буквы латинского алфавита, в котором 26 букв.
Задача. Выведите сообщение, а под ним — зашифрованное сообщение:
Сообщение: Meet me at the zoo by six
Шифровка: Phhw ph dw wkh crr eb vlaПодсказка: напишите функцию, которая сдвигает одну букву и возвращает новую. Онапонадобится вам и в двух следующих упражнениях. Символ — это число (вспомните урок о переменных), поэтому с нимможно вычислять, а % возвращает вас в начало алфавита. Функции из ctype.h подскажут,буква ли символ и заглавная ли она.
Задание
- 1
Выведите сообщение и зашифрованное сообщение, как в примере.