Показать сообщение отдельно
  #1 (permalink)  
Старый 08.06.2013, 22:25
Новичок на форуме
Отправить личное сообщение для VilDara Посмотреть профиль Найти все сообщения от VilDara
 
Регистрация: 08.06.2013
Сообщений: 6

Скрипт "Шифр Цезаря"
Здравствуйте.

Я тут написал скрипт, который шифрует строку по "Шифру Цезаря".
Наткнулся на проблему: почему не шифруется Э? Ю,Я шифруются, а Э нет!!!

function assa()
{
var rusU_alf = new Array('А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я');
var rusL_alf = new Array('а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я');
var stroka = "ЭЮЯ";// Строка,которую будем шифровать
stroka = stroka.split('');
var stroka_shifra = new Array();
var soedin_str;
var a;    
var i = 0;
for(i;i<stroka.length;i++){
    if(stroka[i].toLowerCase() == stroka[i]){
        a = rusL_alf.indexOf(stroka[i])+3;
        
        if(stroka[i] == "э"){
            а = 0;
        }
        if(stroka[i] == "ю"){
            a = 1;
        }
        if(stroka[i] == "я"){
            a = 2;
        }
        stroka_shifra.push(rusL_alf[a]);
    }
    if(stroka[i].toUpperCase() == stroka[i]){
        a = rusU_alf.indexOf(stroka[i])+3;
        
        if(stroka[i] == "Э"){
            а = 0;
        }
        if(stroka[i] == "Ю"){
            a = 1;
        }
        if(stroka[i] == "Я"){
            a = 2;
        }
        stroka_shifra.push(rusU_alf[a]);
    }
}
soedin_str = stroka_shifra.join('');
document.write(soedin_str);
}


Отчего это?

Последний раз редактировалось VilDara, 08.06.2013 в 22:30.
Ответить с цитированием