C++ при вводе в одно переменную меняеться вторая?
Похоже, что на данной платформе стек растет вниз (в сторону уменьшения адресов), поэтому введя в word
6 символов (размер word - 5), произошел выход за пределы массива и последние 2 байта (не забываем, что строки в Си имеют еще дополнительный нулевой символ в конце) записались на соседние переменные, т.е. повредили содержащиеся в них значения.
При этом не произошло никакого сбоя, потому что все переменные в стеке (а все пространство в стеке изначально уже выделено и к нему можно свободно обращаться). Если бы word был динамическим массивом, то скорее всего произошел бы seg fault. В отладочной версии возможно и не произошел бы.
Си и С++ оставляет за программистом возможность управлять памятью, поэтому компилятор такие вещи не отслеживает.
Если хотите избавиться от ошибки, используйте класс string или перепишите код так что бы не было возможности выхода за границы массива.
>>Вроде бы ничего не обычного, но перменная krypt, меняеться непонятно почему, от разных вводов других данных а именно массивов.
Обнуляй переменные. При объявлении в С  все переменные имеют случайные значения. А массив - это вообще указатель на случайный мусор в памяти.