Чтобы решить проблему с исключением о выходе из границ массива (transposition[key[j] - 1] = input[i + j];) обратите внимание на строку SetKey(_key.Split(' ')); Когда мы вводим ключ в форме, между цифрами следует ставить пробелы иначе программа не поймет где разделение цифр ключа. Проблему с выводом доп знаков можно исправить простым условием if и Remove() на строку, которую выводим. Если нужен будет мой код- скину ссылку на git
При введении любого ключа для шифровки слова программа ругается на строку transposition[key[j] - 1] = input[i + j]; , мол индекс находится вне массива. Что не так?
Возник вопрос, при введении ключа, одно из значений которых больше 4, компилятор выдает ошибку, что индекс находится вне границ массива, каким образом можно это исправить, если я например хочу сместить на 5 и больше позиций
Для тех, у кого возникает исключение о выходе из границ массива! Вот решение: в методе шифрования нужно заменить [key[j] - 1] на [key[j] - '1'], чтобы получать числовое значение индекса символа в массиве, а не ASCII-код символа. Тоже самое в методе дешифрования: key[j]-1] на key[j]-'1']
Здравствуйте. Ваш код почему-то не работает. Ругается на строку transposition[key[j] - 1] = input[i + j]; , говорит, что индекс находится вне массива. Такое происходит именно с Вашим исходником, скачанным мною по ссылке.
видео урок конечно не очень, но вот что прогу чет криво написали это спасибо, хотя бы разобрался что делать нужно, а то просто скатал бы и не понял ничего)
@@deverloperfantom1372 А блин, я думал ты про то что там в конце появились символы из начала, и таким образом можно легко понять длину ключа.(Если бы в программе была бы одна зашифровка)
Чтобы решить проблему с исключением о выходе из границ массива (transposition[key[j] - 1] = input[i + j];) обратите внимание на строку SetKey(_key.Split(' ')); Когда мы вводим ключ в форме, между цифрами следует ставить пробелы иначе программа не поймет где разделение цифр ключа.
Проблему с выводом доп знаков можно исправить простым условием if и Remove() на строку, которую выводим. Если нужен будет мой код- скину ссылку на git
Спасибо большое, очень четко и ясно объясняете. Жду новых видео по теме криптографии.
Рауан Ризуан спасибо за отзыв!
Друзья! Мы все дружно забываем ставить пробемы между символами в ключе! Отсюда все беды, я сегодня сам из-за этого 4 часа голову ломал.
точно, вся проблема в пробелах между 2 4 1 3
При введении любого ключа для шифровки слова программа ругается на строку transposition[key[j] - 1] = input[i + j]; , мол индекс находится вне массива. Что не так?
та же самая ситуация
@@ДарьяСкрылева-щ5щ как ты решила эту проблему ?
Нашли как надо исправить??
@@denisslyusareko9158 решили проблему пожскажите как?
а в чем была ошибка скачал все по ссылки
transposition[key[j] - 1] = input[i + j];
System.FormatException: "Входная строка имела неверный формат."
Исправили ошибкуу?
Возник вопрос, при введении ключа, одно из значений которых больше 4, компилятор выдает ошибку, что индекс находится вне границ массива, каким образом можно это исправить, если я например хочу сместить на 5 и больше позиций
спасибо большое! Все ясно и понятно
лучше целиком слова переставлять до пробела. если номер телефона или пароль нужно зашифровать то ставим внутри пробелы
Огромное спасибо!
Для тех, у кого возникает исключение о выходе из границ массива! Вот решение: в методе шифрования нужно заменить [key[j] - 1] на [key[j] - '1'], чтобы получать числовое значение индекса символа в массиве, а не ASCII-код символа. Тоже самое в методе дешифрования: key[j]-1] на key[j]-'1']
Спасибо
Здравствуйте. Ваш код почему-то не работает. Ругается на строку transposition[key[j] - 1] = input[i + j]; , говорит, что индекс находится вне массива. Такое происходит именно с Вашим исходником, скачанным мною по ссылке.
Как исправили?
у меня на обработанный текст пишет : System.Char[] на каждую букву
Перейдите по ссылке из описания к видео - в статье есть исходник рабочей программы
видео урок конечно не очень, но вот что прогу чет криво написали это спасибо, хотя бы разобрался что делать нужно, а то просто скатал бы и не понял ничего)
А как пофиксить эту штуку если нацело не делится длина текста на длину ключа?
Норм
кто хочет смотреть видос смотрите сразу 32 минуту( логики нет в программе(
А как пофиксить эту штуку если нацело не делится длина текста на длину ключа?
@@ssenseu расшифровать может любой это обычная функция которую ктоиукоднл запустит и расшифрует
@@deverloperfantom1372 А блин, я думал ты про то что там в конце появились символы из начала, и таким образом можно легко понять длину ключа.(Если бы в программе была бы одна зашифровка)
не работает
Да работает вроде. В чем у Вас проблема?