Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Ошибка в коде шифра Виженера с++

Васильева София Ученик (143), на голосовании 4 года назад
Подскажите, почему не работает программа. И что за хероборина там происходит?
Это код по шифровке и дешифровке текста шифром Виженера (Модифицированный шифр Цезаря).
Не нужно смотреть на функцию decryption, я ее заполню по аналогии с encryption.
Объясняю, что происходит в коде:
1. Вводится язык, текст, ключевое слово
2. Программа находит длину ключевого слова и текста
3. Далее строка с ключом должна изменится по длине текста, так же с пробелами (которые не кодируются), и символы строки повторяются циклично, для проверки они выводятся на экран (но компилятор почему-то не выводит)
4. Далее в пустой массив записываются индексы ключа (по длине строки), которые тоже выводятся, н
5. Процесс шифровки (находятся символы текста, одинаковые с символами массива русского алфавита)
6. Меняется элемент текста по принципу text[i] = rus[(j + indkey[i]) % 33];, где text[i] - элемент текста, который шифруется, rus - массив алфавита, j - индекс алфавита (буква из текста) indkey[i] - индекс массива ключа
Дополнен 4 года назад
Вот ссылка на код
https://pastebin.com/z0geANBF
Дополнен 4 года назад
Реализуется на Visual Studio C++ 19 года
Голосование за лучший ответ
user49912 Оракул (51292) 4 года назад
автор кода путает = (присваивание) и == (сравнение)
строчки 42, 48, 55, дальше не читал

на самом деле ты мог бы прогнать по коду отладчик и заметить неожиданный выход на этих строчках самостоятельно
Васильева СофияУченик (143) 4 года назад
Да, не заметила, спасибо. Но у меня в коде все верно, все поменялось только в пастебине, сейчас заменю ссылку.
Похожие вопросы