Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.82
Kirritto
Сообщений: n/a
#1

Шифр цезаря - C++

27.10.2013, 00:46. Просмотров 2417. Ответов 4
Метки нет (Все метки)

Столкнулся с такой проблемой нужно "Разработать прикладное приложение для шифрования текста с помощью шифра простой замены. Приложение должно выполнять ввод данных (текст может вводить непосредственно пользователь или выбрать файл с текстом), проверку введенных данных вывод соответствующих сообщений случая возникновения ошибок. записывать зашифрованный текст в файл." но я ни малейшего представления не имею как ее сделать я находил пару програмок но понять как они работают так и не смог((( может кто-то помочь?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2013, 00:46     Шифр цезаря
Посмотрите здесь:

Шифр Цезаря C++
C++ Шифр Цезаря
Шифр Цезаря C++
C++ Шифр сдвига (Цезаря)
Шифр Цезаря полосками C++
C++ Шифр Цезаря
C++ Шифр цезаря на кириллице
C++ Шифр Цезаря C++
C++ Шифр Цезаря
Шифр Цезаря C++
C++ Шифр Цезаря
C++ Шифр Цезаря

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6506 / 4972 / 459
Регистрация: 14.02.2011
Сообщений: 16,474
27.10.2013, 00:55     Шифр цезаря #2
если я ничего не путаю шифр Цезаря это смешение
А+1=Б
Б+1=В
смешение может быть любым
есть два пути решения или табличный метод
забиваешь в массив новые значения
типа
C++
1
2
char table[]={'Б','В','Г'..........}
char cd=table[ncd-'А']
или арифметический
C++
1
2
3
cd=ncd+1;
 if (ncd=='Я')
 cd='А';
gazlan
3130 / 1905 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
27.10.2013, 01:46     Шифр цезаря #3
Аффинный шифр
MrGluck
Ворчун
Эксперт CЭксперт С++
6617 / 3808 / 496
Регистрация: 29.11.2010
Сообщений: 10,052
27.10.2013, 01:50     Шифр цезаря #4
Цитата Сообщение от ValeryS Посмотреть сообщение
if (ncd=='Я')
*cd='А';
ну так то конечно так, но что, если сдвиг идет более чем на 1?
Тут надо обычное деление по модулю применять.
ТС: новая буква = (старая буква + сдвиг) mod (размер алфавита)
ValeryS
Модератор
6506 / 4972 / 459
Регистрация: 14.02.2011
Сообщений: 16,474
27.10.2013, 01:53     Шифр цезаря #5
Цитата Сообщение от MrGluck Посмотреть сообщение
Тут надо обычное деление по модулю применять.
вполне возможный вариант
а же идею показывал а не решение
Yandex
Объявления
27.10.2013, 01:53     Шифр цезаря
Ответ Создать тему
Опции темы

Текущее время: 14:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru