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

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

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

Шифр Цезаря C++
C++ Шифр Цезаря
Шифр Цезаря C++
Шифр Цезаря полосками C++
C++ Шифр Цезаря
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6378 / 4844 / 442
Регистрация: 14.02.2011
Сообщений: 16,064
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
2867 / 1815 / 272
Регистрация: 27.08.2010
Сообщений: 4,921
Записей в блоге: 1
27.10.2013, 01:46     Шифр цезаря #3
Аффинный шифр
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
27.10.2013, 01:50     Шифр цезаря #4
Цитата Сообщение от ValeryS Посмотреть сообщение
if (ncd=='Я')
*cd='А';
ну так то конечно так, но что, если сдвиг идет более чем на 1?
Тут надо обычное деление по модулю применять.
ТС: новая буква = (старая буква + сдвиг) mod (размер алфавита)
ValeryS
Модератор
6378 / 4844 / 442
Регистрация: 14.02.2011
Сообщений: 16,064
27.10.2013, 01:53     Шифр цезаря #5
Цитата Сообщение от MrGluck Посмотреть сообщение
Тут надо обычное деление по модулю применять.
вполне возможный вариант
а же идею показывал а не решение
Yandex
Объявления
27.10.2013, 01:53     Шифр цезаря
Ответ Создать тему
Опции темы

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