|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.06.2018, 15:17 | #1 |
Регистрация: 03.06.2018
Сообщений: 5
|
Шифр Гронсфельда
Нужно сделать так, чтобы если номер символа (encrypted_message[count]) при шифровке был больше 255 (ASCII кодировка) то шифровался по формуле: encrypted_message[count]=encrypted_message[count]-224. П.с. у меня при получении числа символа больше 255, отсчет начинается с начала, и тогда нужна формула encrypted_message[count]=encrypted_message[count]+32, но как реализовать это в коде не знаю.
Код:
|
13.06.2018, 16:56 | #2 |
Пользователь
Регистрация: 14.03.2017
Сообщений: 68
|
Код:
|
13.06.2018, 17:15 | #3 |
Регистрация: 03.06.2018
Сообщений: 5
|
переменной message_length присваивается длинна сообщения, а переменной key_length длинна ключа, потом обьявляются массивы куда заносятся ключ(temp_key[message_length]), зашифрованное сообщение (encrypted_message[message_length]), и расшифрованное сообщение decrypted_message[message_length];
|
13.06.2018, 17:21 | #4 |
Пользователь
Регистрация: 14.03.2017
Сообщений: 68
|
Такое конструкции лучше избегать потому что этот массив обычно размещается в стеке, размер которого ограничен, причём нет возможности проверить наличие места - если места не хватит, то программа в лучшем случае аварийно завершится, а может и просто вести себя непредсказуемо
Код:
|
13.06.2018, 17:41 | #5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Код:
Код:
лучше разместить алфавит в своей программе и по нему находить порядковый номер символа в своём алфавите и вычислять новое значение (новый символ). см. например, тему на форуме: http://programmersforum.ru/showthread.php?t=222296 Последний раз редактировалось Serge_Bliznykov; 13.06.2018 в 17:44. |
|
13.06.2018, 18:15 | #6 |
Пользователь
Регистрация: 14.03.2017
Сообщений: 68
|
Код:
|
13.06.2018, 18:38 | #7 |
Регистрация: 03.06.2018
Сообщений: 5
|
Где библиотеку #include "stdafx.h" взять можно?
|
13.06.2018, 18:50 | #8 |
Пользователь
Регистрация: 14.03.2017
Сообщений: 68
|
Это у меня Visual Studio просто
удалите и все она не нужна вам. А да и путь к файлу свой укажите у меня просто диск Д Последний раз редактировалось 2Lui; 13.06.2018 в 19:05. |
13.06.2018, 19:08 | #9 |
Регистрация: 03.06.2018
Сообщений: 5
|
Ключ сломался, он должен дублироваться (из 153 должен быть 153153153153153 под длину сообщения),
Вот полная формулировка, задания, может так понятнее будет что именно требуется. Программа, шифрующая и дешифрующая обыкновенные текстовые ASCII файлы с помощью усовершенствованного шифра Гронсфельда. Указание: Шифр Гронсфельда имеет ключ - 5 (в нашем случае любое количество) цифр. Шифруемый текст разбивается на группы символов (про-белы - не исключение) по числу цифр в ключе. Код первого символа группы увеличивается на число, соответствующее первой цифре ключа, код второго на число, соответствующее второй цифре ключа и т.д. При этом коды меньше 32 (т.н. управляющие символы) преобразованию не подлежат (во избежание повреждения структуры файла и других неприятных последствий). При де-шифровке производится обратный процесс (уменьшение кодов). Если полученный при шифровании код КОД больше 255, применяем формулу КОД = КОД - 224. Если полученный при дешифрировании код КОД меньше 32 применяем формулу КОД = КОД + 224. Таким образом, зацикливаем последовательность кодов 32 - 255. Естественно, при шифровке и дешифровке программа должна запраши-вать у пользователя ключ. Последний раз редактировалось Vvvv11; 13.06.2018 в 19:47. |
13.06.2018, 20:23 | #10 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[C++]: шифр Гронсфельда. Помогите найти ошибку в коде | krasy | Помощь студентам | 1 | 02.10.2016 00:37 |
написать шифр ГРОНСФЕЛЬДА на JavaSkript с комментариями! | Екатерина 13 | Помощь студентам | 3 | 31.03.2016 18:07 |
Шифр Гронсфельда (!) | guzel20 | Общие вопросы C/C++ | 3 | 18.12.2012 14:01 |
Шифр Гронсфельда | zloygeniyrus | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 06.04.2009 16:53 |
Шифр Гронсфельда | zloygeniyrus | Помощь студентам | 0 | 06.04.2009 16:45 |