Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2008, 11:21   #1
Dj_Tiger
 
Регистрация: 12.11.2008
Сообщений: 7
Злость Расшифруйте и ответьте на вопрос для ключа КРЭС

Буквы алфавита нумеруются числами от 0 до 32.
При шифровании ключевое слово подписывается под сообщением с повторениями,например,
сообщение - в связи с создавшимся...
ключ - з апись з аписьзапись...

Каждая буква сдвигается в доль алфавита по следующему правилу:
буква с номером m , под которой стоит буква ключевого слова с номером k , заменяется на букву
с номером l: если k+m<33 , то l=k+m,
если k+m>=33 , то l=k+m-33.

Расшифруйте и ответьте на вопрос для ключа КРЭС:

ВГЛДКЫЛЦХЯЙБУЬЬДЩБ
Dj_Tiger вне форума Ответить с цитированием
Старый 13.11.2008, 14:43   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

>"Буквы алфавита нумеруются числами от 0 до 32."
Точно от нуля до 32?

и ещё - проверьте ПОБУКВЕННО - кодовое слово и шифровку.
Я написал программу дешифровки, но она какой-то бред выдаёт... ;-(
то ли я ошибся, то ли Вы...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.11.2008, 16:23   #3
Dj_Tiger
 
Регистрация: 12.11.2008
Сообщений: 7
По умолчанию

Именно от 0 до 32!!!
Да, задание я написал правильно!!!Ключ КРЭС::
ВГЛДКЫЛЦХЯЙБУЬЬДЩБ!
Т.Е Должно быть так:
ВГЛДКЫЛЦХЯЙБУЬЬДЩБ
КРЭСКРЭСКРЭСКРЭСКР

А мне ещё оказывается и зашифровать текст нужно по этому методу!!!!
Dj_Tiger вне форума Ответить с цитированием
Старый 13.11.2008, 17:41   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

блин, от нуля до 32! Значит 33 буквы! Значит Ё тоже входит. а я про неё забыл... ;-(

У Вас зашифрована фраза:
ЧТОТАКОЕКОМПИЛЯТОР


вот код для дешифрации:
(те куски, что для отладки - можно просто выкинуть - это я баловался ;-):

Код:
CONST
  Russ = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
var
  s, keypass, r : string;
  i, j, k : integer;

begin
  keypass := 'КРЭС';
  s := 'ВГЛДКЫЛЦХЯЙБУЬЬДЩБ';

  {для ОТЛАДКИ!!!!!!!!!!!!!!
   выведем строчку исходного текста, а под ней - коды символов
    под ними строка шифра под ней - коды символов шифра}
  WriteLn;
  for i:=1 to Length(s) do begin
    Write(' ',s[i],' ');
  end;
  WriteLn;
  for i:=1 to Length(s) do begin
    Write((Pos(s[i],Russ)-1):2,' ');
  end;
  WriteLn;
  j := 1;
  for i:=1 to Length(s) do begin
    Write(' ',keypass[j],' ');
    inc(j);
    if j>Length(keypass) then j:=1;
  end;
  WriteLn;
  j := 1;
  for i:=1 to Length(s) do begin
    Write((Pos(keypass[j],Russ)-1):2,' ');
    inc(j);
    if j>Length(keypass) then j:=1;
  end;
  WriteLn;
  {конец кода ДЛЯ ОТЛАДКИ!}


  j := 1;
  r := '';
  for i:=1 to Length(s) do
  begin
     k := (Pos(s[i],Russ)-1) - (Pos(keypass[j],Russ)-1) ;
     if k<0 then k := k+33;
     r := r + Copy(Russ,k+1,1);
     inc(j);
     if j>Length(keypass) then j:=1;
  end;
  WriteLn(r);
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.11.2008, 17:44   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

для зашифроки поменяйте знак минус на плюс:
Код:
  
     k := Pos(s[i],Russ) + Pos(keypass[j],Russ) ;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.11.2008, 20:51   #6
Dj_Tiger
 
Регистрация: 12.11.2008
Сообщений: 7
По умолчанию

Спасибо тебе ОГРОМНОЕ!!!!!!!!!ВЫручил!!!!!!!!
Dj_Tiger вне форума Ответить с цитированием
Старый 17.11.2008, 00:53   #7
Dj_Tiger
 
Регистрация: 12.11.2008
Сообщений: 7
По умолчанию Что-то не то!!!

Привет, извини, что спрашиваю, но вот с зашифровкой вроде что-то не то!!!Какую-то чушь выдаёт!!!Я так понимаю должно тоже самое выдавать: ВГЛДКЫЛЦХЯЙБУЬЬДЩБ, а он не то!!!Скажи ещё, пожалуйста, что за процедура inc(j)? и вкратце можешь объяснить, что ты тут как бы делаешь?!!Извини, за беспокойство!!!!
Dj_Tiger вне форума Ответить с цитированием
Старый 17.11.2008, 00:56   #8
Dj_Tiger
 
Регистрация: 12.11.2008
Сообщений: 7
По умолчанию

И не знаешь, как сделать, чтобы при нажатиие одной клавиши, текст зашифровывался, а при нажатии другой расшифровывался?Ещё раз извини, просто я тупак в этом!!!
Dj_Tiger вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C++] Ответьте на возникшие вопросы... Padre Помощь студентам 2 09.05.2008 23:21
Проверка ключа в реестре Marsik Помощь студентам 5 24.04.2008 18:46
расшифруйте две строки программы Cooler Общие вопросы Delphi 1 22.11.2006 14:54