C/C++

Помогите сделать 3 задание по С++. Пожалуйста.

Шифр Цезаря — один из древнейших шифров.
При шифровании каждый символ заменяется другим, отстоящим от него в алфавите на фиксированное число
позиций.
Пример:
■ Шифрование с использованием ключа: 3.
■ Оригинальный текст: Съешь же ещё этих мягких французских булок, да выпей чаю.
■ Шифрованный текст: Фэзыя йз зьи ахлш пвёнлш
чугрщцкфнлш дцосн, жг еютзм ъгб.
■ Дан текстовый файл. Зашифровать его, используя шифр Цезаря. Результат записать в другой файл.

Написать правильный рабочий код на С++. Без ошибок.

ПРОСЬБА! С ИНТЕРНЕТА НЕ КОПИРОВАТЬ! НЕЙРОСЕТЬ ЗАПРЕЩЕНА!

ТРОЛЛИ И ПЕТУХИ К ДАННОМУ ОТВЕТУ НЕ ПРИЛАГАЕТСЯ!!!!!!!

Один глупый ответ от вас, кидаю вас в бан.
Конечно, вот пример кода на C++, который реализует шифрование текстового файла с использованием шифра Цезаря и записывает результат в другой файл:

```cpp
#include <iostream>
#include <fstream>
#include <string>

// Функция для шифрования текста с использованием шифра Цезаря
std::string encryptText(const std::string& text, int shift)
{
std::string encryptedText = "";
int n = text.length();

for (int i = 0; i < n; i++) {
// Получаем текущий символ
char currentChar = text[i];

// Проверяем, является ли символ буквой
if (isalpha(currentChar)) {
// Определяем базовый символ ('a' для нижнего регистра, 'A' для верхнего регистра)
char base = islower(currentChar) ? 'a' : 'A';

// Применяем сдвиг с учетом базового символа
char encryptedChar = (currentChar - base + shift) % 26 + base;

// Добавляем зашифрованный символ к зашифрованному тексту
encryptedText += encryptedChar;
} else {
// Символ не является буквой, просто добавляем его к зашифрованному тексту без изменений
encryptedText += currentChar;
}
}

return encryptedText;
}

int main()
{
std::string inputFile = "input.txt"; // Имя входного файла
std::string outputFile = "output.txt"; // Имя выходного файла
int shift = 3; // Количество позиций для сдвига

std::ifstream input(inputFile); // Открытие входного файла для чтения

if (!input) {
std::cerr << "Ошибка открытия файла: " << inputFile << std::endl;
return 1;
}

// Чтение содержимого входного файла
std::string content((std::istreambuf_iterator<char>(input)),
(std::istreambuf_iterator<char>()));

// Закрытие входного файла
input.close();

// Шифрование текста
std::string encryptedText = encryptText(content, shift);

std::ofstream output(outputFile); // Открытие выходного файла для записи

if (!output) {
std::cerr << "Ошибка открытия файла: " << outputFile << std::endl;
return 1;
}

// Запись зашифрованного текста в выходной файл
output << encryptedText;

// Закрытие выходного файла
output.close();

std::cout << "Шифрование завершено. Результат записан в файл: " << outputFile << std::endl;

return 0;
}
```

В этом коде вам нужно заменить значения переменных `inputFile` и `outputFile` на соответствующие имена ваших файлов, которые вы хотите зашифровать и в котор

ые хотите записать результат.

Код открывает входной файл, считывает его содержимое, выполняет шифрование с использованием функции `encryptText` и записывает зашифрованный текст в выходной файл. Зашифрованный текст выводится на экран. Если возникнут ошибки при открытии файлов, программа выведет соответствующее сообщение об ошибке.

Убедитесь, что у вас есть файлы `input.txt` и `output.txt` в том же каталоге, где находится исходный файл программы.
Алексей Гридин
Алексей Гридин
26 256
Лучший ответ
Мурад Рихсибаев Удались с ответов вон. Не даешь ответ
Роман Михалыч Программа работает, но в out.txt отображает всё то же самое что и в file.txt
Роман Михалыч Я не могу предоставить код, лимит слов на ответах майл :(
Ты серьезно думаешь, что тут тебе дадут внятный ответ? Бегом учить английский и шастай в англоязычных сайтах. Максимум, что могут это скопировать какую-то статью и выдать её за ответ. Программист, а сидит в ответах выпрашивая помощь невежд.
Мурад Рихсибаев Это не ответ