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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2012, 19:48   #1
Ervin_Aders
Новичок
Джуниор
 
Регистрация: 10.12.2012
Сообщений: 1
Печаль Шифрование данных шифр трифид

Помогите, пожалуйста. Не может обратится к массиву для шифрования, все выводит правильно кроме зашифрованного сообщения (последней строки).
Код:
type
  bifid=array[1..3,1..3,1..3] of char;
const a:bifid=((('A','B','C'),('D','E','F'),('G','H','I')),
               (('J','K','L'),('M','N','O'),('P','Q','R')),
               (('S','T','U'),('V','W','_'),('X','Y','Z')));
var f,g,d,z:byte;
i,j,k:byte;
c:word;
l,n,m,q,w,e:string;
s1,s2,s3,s4,s5,s:string;
begin
  s:='TRIFID_AND_BIFID';
  g:=length(s);
  l:='';
  n:='';
  m:='';
  for f:=1 to g do
           begin
             for i:=1 to 3 do
               for j:=1 to 3 do
                 for k:=1 to 3 do
             if s[f]=a[i,j,k] then begin
                                     str(j,l);
                                     str(k,n);
                                     str(i,m);
                                     s1:=s1+l;
                                     s2:=s2+n;
                                     s3:=s3+m;
                                     s4:=s1+s2+s3;
                                   end;
                                   z:=1;
                                   while z<length(s4) do begin
                                     for i:=1 to 3 do
                                       for j:=1 to 3 do
                                         for k:=1 to 3 do
                                     str(j,l);
                                     str(k,n);
                                     str(i,m);
                                   if s4[z]=l then
                                              if s4[z+1]=n then
                                                           if s4[z+2]=m then
                                                           s5:=s5+a[i,j,k];
                                                           z:=z+3;
                                                         end;
                                                       end;
writeln(s);
writeln(s1);
writeln(s2);
writeln(s3);
writeln(s4);
writeln(s5);
readln;
end.
Вывод

TRIFID_AND_BIFID
1332322122213232
2333313121323331
3211113121311111
13323221222132322333313121323331321 1113121311111
ZZZZZZZZZZ
Как видите в последней строке он прописывает только последний элемент массива а должен вывести зашифрованный текст.
Очень буду благодарен за помощь.




___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 11.12.2012 в 09:37.
Ervin_Aders вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
создание защищенного канала предачи данных по протоколу TCP и симметричного шифр satanclaus Помощь студентам 0 13.02.2012 23:11
шифрование данных Vasisualis Общие вопросы Delphi 0 21.06.2011 22:29
Шифрование данных s-ene Свободное общение 0 12.02.2011 21:36
Шифрование данных didar_ Общие вопросы Delphi 2 07.11.2009 12:24