![]() |
|
Модераторы: bsa |
![]()
|
|
| insame |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 13.12.2012 Репутация: нет Всего: нет |
Всем здравствуйте.
Возникла одна проблемка. Изначально по заданию был "Шифр цезаря". Программу по шифрованию/дешифрованию написал. В итоге преподаватель меня обрадовал, сказав что я сделал не тот вариант. Мое новое задание теперь "Шифр цезаря с ключевым словом". Вот теперь сижу ломаю голову. Не получается дописать программу. Вот код:
Подскажите. Заранее спасибо. Это сообщение отредактировал(а) insame - 13.12.2012, 10:19 |
|||
|
||||
| borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
это вообще компилируется ? не должно. сделайте так
по идее, дальше ничего не меняется по сути: если я не ошибаюсь, Вам нужно ввести не a, а ключевое слово, а a выбирать из него на каждом цикле. Лови.. допиливай
http://liveworkspace.org/code/1ja4dV Это сообщение отредактировал(а) borisbn - 13.12.2012, 11:23 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
P.S. У Вас в алфавите не хватает как минимум пробела
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| insame |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 13.12.2012 Репутация: нет Всего: нет |
borisbn, спасибо большое.
Но... Вы немного не поняли алгоритм шифра цезаря с ключевым словом. Там а вводит надо все равно, но после ключевого слова. Там получается что ключевое слово встает в алфавит с k-ого места (т.е. после первой букву шифруешегося сообщения/предложения), потом идет шифрование со смещение по новому алфавиту.
Компилируется. Ошибок или предупреждений не выдает. А в чем разница, поясните пожалуйста.
Точно. Но в принципе не столь важно. Спасибо за напоминание. |
||||
|
|||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
может и не понял, но, как мне кажется, это (разобраться в алгоритме) - Ваша задача сколько вешать в граммах (С) в смысле - сколько памяти Вы требуете выделить у оператора new ? разница в том, что std::string - это класс, инкапсулирующий работу со строками (в Вашем случае - выделение и освобождение памяти под символы, ввод строки из std::cin и получение i-го элемента посредством оператора []), а char * - это просто указатель, а не строка. -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| insame |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 13.12.2012 Репутация: нет Всего: нет |
Спасибо за объяснение.
Тут вы правы. В алгоритме я разобрался. Получается нужно из одного массива (alf - начальный алфавит без ключа) сделать новый массив (alf2 - конечный алфавит с ключевым словом), по которому будет производиться сдвиг на k-ое число. Я не понимаю как программно на С++ реализовать это. |
||||
|
|||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |