Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Нужно исправить код [XP]


Шурик ©   (2008-11-30 11:33:00) 

Нужно реализовать задачу по шифрованию кода Трасмуса. Если кто не знает, суть такая: Таблица 6х5, не учитываем Ё Ъ Й, в нее на первое место ставим слов которое хотим зашифровать (слово не должно иметь повторяющихся букв), затем из всего русского алфавита исключаем буквы которые содержит слово и добавляем их в массив. Пример:
зашифрованное слово стол
СТОЛаб
вгдежз
икмнпр
уфх...
Далее букве с присваиваем букву в, т - г, 0 - д, л-е. Шифр у нас получился ВГДЕ. Я написал код для реализации данного шифра, но ничто не получается, помогите, пожалуйста исправить
ar
 Mas: Array[1..6,1..5] of string;
i,j,m,o,k: integer;
   t,s: string;
   KEY: string;
    c, c2: char;
begin
    t:= Edit1.Text;// это типа слово которое хотим зашифровать
   s:= 'АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЬЫЭЮЯУФХЦШЩ';
 for i:= 1 to 6 do
 for j:= 1 to 5 do
 for k:= 1 to Length(t) do
for o:= 1 to 30 do
begin
  c:=t[k];
   c2:=s[o];
     if c=c2 then
     delete(s,i,1); //ищем буквы из эдит1 в s, одинаковые удаляем
 Mas[i,j]:=copy(t,o,1); // тут ерунда получилась, нужно в массив добавить слово из эдит1 и остальные буквы алфавита попорядку.
   
mas[1,1]:=edit1.text;
for i:= 1 to 6 do
for j:= 1 to 5 do
if not ((i=1) and (j=1)) then
mas[i,j]:=s[(i-1)*5+j-1];// этот код мне предложили для обавления в массив, не знаю правильный ли он.
Дальше нужно присвоить слову которое хотим зашифровать буквы для шифровки, получается что надо для каждой буквы присвоить букву, стоящую 6 от нее.
Затем зашифрованное слово добавляем в эдит2

 end;
     end;

end.


Ega23   (2008-11-30 11:45:00) [1]


>  Mas[i,j]:=copy(t,o,1); // тут ерунда получилась, нужно
> в массив добавить слово из эдит1 и остальные буквы алфавита
> попорядку.


Исправь, чтобы была не ерунда.


> mas[i,j]:=s[(i-1)*5+j-1];// этот код мне предложили для
> обавления в массив, не знаю правильный ли он.


Разберись. Узнай, правильный ли это код.


Наверх

Титульная страница Поиск, карта сайта Написать письмо