gif
Портал edu4cash: Что это и как работает?.
gif
Как быстро получить ответ от ИИ.
gif
Как задонатить в Roblox в России в 2024 году.
gif
Обновления на edu4cash – новые награды, улучшенная модерация и эксклюзивные возможности для VIP!.
  • Задать вопрос
  • Назад
  • Главная страница
  • Вопросы
  • Предметы
    • Русский язык
    • Литература
    • Математика
    • Алгебра
    • Геометрия
    • Вероятность и статистика
    • Информатика
    • Окружающий мир
    • География
    • Биология
    • Физика
    • Химия
    • Обществознание
    • История
    • Английский язык
    • Астрономия
    • Физкультура и спорт
    • Психология
    • ОБЖ
    • Немецкий язык
    • Французский язык
    • Право
    • Экономика
    • Другие предметы
    • Музыка
  • Темы
  • Банк
  • Магазин
  • Задания
  • Блог
  • Топ пользователей
  • Контакты
  • VIP статус
  • Пригласи друга
  • Донат
  1. edu4cash
  2. Вопросы
  3. Информатика
  4. 9 класс
  5. На c++ пожалуйста Как реализовать шифр Цезаря, в котором каждый символ латинского алфавита заменяется на другой символ, k-тый по счёту в алфавите после данного, при этом учитывая, что если символ выходит за границы, то берётся соответствующий из начала...
Задать вопрос
eldora.ullrich

2024-12-05 22:38:02

На c++ пожалуйста Как реализовать шифр Цезаря, в котором каждый символ латинского алфавита заменяется на другой символ, k-тый по счёту в алфавите после данного, при этом учитывая, что если символ выходит за границы, то берётся соответствующий из начала строки? Например, для k=3 символ A заменяется на D, B — на E и так далее. Все остальные символы остаются неизменными. Напишите программу, которая зашифрует строку с использованием шифра Цезаря для k=3.

Информатика 9 класс Алгоритмы шифрования шифр Цезаря C++ алгоритм шифрования латинский алфавит программа на C++ Новый

Ответить

cruickshank.mitchell

2024-12-12 15:35:40

Шифр Цезаря — это простой способ шифрования текста, который заменяет каждый символ на другой, находящийся на фиксированном расстоянии в алфавите. В нашем случае мы будем использовать k=3, что означает, что каждый символ латинского алфавита будет заменён на символ, находящийся на три позиции дальше. Если символ выходит за пределы алфавита, мы начинаем с начала.

Давайте напишем программу на C++, которая реализует этот шифр. Мы будем использовать следующие шаги:

  1. Ввод строки: Мы начнём с ввода строки, которую нужно зашифровать.
  2. Проход по каждому символу: Программа будет проверять каждый символ строки.
  3. Проверка на латинские буквы: Если символ является латинской буквой (A-Z или a-z), мы будем его шифровать.
  4. Шифрование символа: Для шифрования мы будем использовать формулу, которая учитывает, что при выходе за пределы алфавита нужно начинать с начала.
  5. Вывод результата: После обработки всех символов мы выведем зашифрованную строку.

Вот пример кода на C++:

#include 
#include 

using namespace std;

int main() {
    string input;
    int k = 3; // Количество позиций для сдвига

    cout << "Введите строку для шифрования: ";
    getline(cin, input); // Ввод строки с пробелами

    string encrypted = ""; // Строка для хранения зашифрованного текста

    for (char ch : input) {
        // Проверка, является ли символ заглавной буквой
        if (ch >= 'A' && ch <= 'Z') {
            ch = (ch - 'A' + k) % 26 + 'A'; // Шифруем заглавную букву
        }
        // Проверка, является ли символ строчной буквой
        else if (ch >= 'a' && ch <= 'z') {
            ch = (ch - 'a' + k) % 26 + 'a'; // Шифруем строчную букву
        }
        // Добавляем (шифрованный или неизменённый) символ в результат
        encrypted += ch;
    }

    cout << "Зашифрованная строка: " << encrypted << endl; // Вывод результата
    return 0;
}

Объяснение кода:

  • Включение библиотек: Мы используем iostream для ввода-вывода и string для работы со строками.
  • Ввод данных: Пользователь вводит строку, которую мы будем шифровать.
  • Цикл по символам: Мы проходим по каждому символу строки с помощью цикла for.
  • Проверка символов: Если символ — это буква, мы применяем шифр Цезаря. Для заглавных букв мы вычитаем 'A' для приведения к нулевой базе, добавляем сдвиг k, применяем модуль 26, чтобы избежать выхода за пределы, и снова добавляем 'A'. Аналогично для строчных букв.
  • Сборка результата: Зашифрованные и неизменённые символы добавляются в новую строку encrypted.
  • Вывод зашифрованной строки: В конце мы выводим зашифрованный текст.

Таким образом, программа успешно реализует шифр Цезаря с заданным сдвигом k=3. Вы можете протестировать её, введя различные строки.


eldora.ullrich ждет твоей помощи!

Ответь на вопрос и получи 16 Б 😉
Ответить

  • Политика в отношении обработки персональных данных
  • Правила использования сервиса edu4cash
  • Правила использования файлов cookie (куки)

Все права сохранены.
Все названия продуктов, компаний и марок, логотипы и товарные знаки являются собственностью соответствующих владельцев.

Copyright 2024 © edu4cash

Получите 500 балов за регистрацию!
Регистрация через ВКонтакте Регистрация через Google

...
Загрузка...
Войти через ВКонтакте Войти через Google Войти через Telegram
Жалоба

Для отправки жалобы необходимо авторизоваться под своим логином, или отправьте жалобу в свободной форме на e-mail [email protected]

  • Карма
  • Ответов
  • Вопросов
  • Баллов
Хочешь донатить в любимые игры или получить стикеры VK бесплатно?

На edu4cash ты можешь зарабатывать баллы, отвечая на вопросы, выполняя задания или приглашая друзей.

Баллы легко обменять на донат, стикеры VK и даже вывести реальные деньги по СБП!

Подробнее