Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Шифр Цезаря 
:(
    Опции темы
о0НиК0о
  Дата 4.4.2007, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 21.1.2007

Репутация: нет
Всего: 1



Нужно примерно следующие:
Пользователь вводит какой-нибудь текст, и после клика на кнопку все символы меняются по следующей схеме:

А меняется на  ЮЯ
Б – ЯА
В – АБ 
Г – БВ 
Д – ВГ 


т.е. каждый символ заменяется двумя предыдущими.
Обратная дешифровка тоже желательна.

PM MAIL   Вверх
Sardar
Дата 4.4.2007, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



о0НиК0о, ты издеваешься лабы постить? smile

Код

var str = "привет";
alert(cesar(str));

function cesar(str) {
//если я пропустил какие буквы, добавь
    var alfa = "абвгдеёжзиклмнопрстуфхцчшщыьэюя";
    var ret = "", d;
    for(var i=0; i<str.length; i++) {
       //если точно задать коды символов, то поиск лучше убрать. если алфавит
       //упорядочен от балды, то на крайняк замени на поиск в хештаблице
       if((d = alfa.indexOf(str.charAt(i))) < 0) throw "Not in alfabet: " + str.charAt(i);
       //alert(d + ", " + cycle(d-2, alfa.length) + ", " + cycle(d-1, alfa.length));
       ret += alfa.charAt(cycle(d-2, alfa.length)) + alfa.charAt(cycle(d-1, alfa.length));
    }
    return ret;
}

function cycle(i, limit) {
   return (i = i % limit) < 0? limit + i: i;
}



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
о0НиК0о
Дата 4.4.2007, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 21.1.2007

Репутация: нет
Всего: 1



Спасибо  smile
 
p.s. это не лаба.


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0605 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.