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

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

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

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

27.10.2013, 00:46. Просмотров 2345. Ответов 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
Модератор
6453 / 4919 / 451
Регистрация: 14.02.2011
Сообщений: 16,320
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
Нарушитель
3129 / 1904 / 285
Регистрация: 27.08.2010
Сообщений: 5,133
Записей в блоге: 1
27.10.2013, 01:46     Шифр цезаря #3
Аффинный шифр
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6228 / 3473 / 425
Регистрация: 29.11.2010
Сообщений: 9,180
27.10.2013, 01:50     Шифр цезаря #4
Цитата Сообщение от ValeryS Посмотреть сообщение
if (ncd=='Я')
*cd='А';
ну так то конечно так, но что, если сдвиг идет более чем на 1?
Тут надо обычное деление по модулю применять.
ТС: новая буква = (старая буква + сдвиг) mod (размер алфавита)
ValeryS
Модератор
6453 / 4919 / 451
Регистрация: 14.02.2011
Сообщений: 16,320
27.10.2013, 01:53     Шифр цезаря #5
Цитата Сообщение от MrGluck Посмотреть сообщение
Тут надо обычное деление по модулю применять.
вполне возможный вариант
а же идею показывал а не решение
Yandex
Объявления
27.10.2013, 01:53     Шифр цезаря
Ответ Создать тему
Опции темы

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