Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.05.29;
Скачать: CL | DM;

Вниз

Шифрование   Найти похожие ветки 

 
Distemp ©   (2011-02-21 00:50) [0]

Суть в том, что программа работает немного неправильно. Например, если ввести лозунг "тетрадь", текст "ручка", и нажать шифр, то в алфавите лозунга выведется "теТрадьбвгжзийклмнопсуфхцчшщъыэюя". Как сделать так, чтобы в алфавите лозунга выводилась только 1 буква "Т" (т.е. как убрать ту, которая выделена)

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Edit1: TEdit;
   Edit2: TEdit;
   Edit3: TEdit;
   Edit4: TEdit;
   Edit5: TEdit;
   Button1: TButton;
   Button2: TButton;
   Label1: TLabel;
   Label2: TLabel;
   Label3: TLabel;
   Label4: TLabel;
   Label5: TLabel;
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
i,j,k: integer;
l,m: string;
flag: boolean;
begin
flag:=false;
m:="";
k:=0;
l:="абвгдежзийклмнопрстуфхцчшщъыьэюя";
for i:=1 to 50 do
 begin
 if length(edit1.text)>=i then m:=m+edit1.Text[i]
   else
   begin
   inc(k);
   for j:=1 to length(edit1.text) do
   if l[k]=edit1.Text[j] then flag:=true;
   if not flag then m:=m+l[k];
   flag:=false;
   end;
 end;

 for i:=1 to length(edit2.Text) do
   for j:=1 to length(m) do
   if edit2.Text[i]=l[j] then edit3.Text:=edit3.Text+m[j];
 edit4.Text:=l;
 edit5.Text:=m;

end;
end.


 
KilkennyCat ©   (2011-02-21 02:22) [1]

медленный способ: проверять строку на наличие такой буквы.
быстрый способ: запоминать, какие буквы были.

один из вариантов медленного:
медленный:
var
 i, z : integer;
 m : string;
begin
z := length(edit1.text);
if z < 1 then exit;
m:= edit1.text[1];
if z > 1 then for i := 2 to z do if AnsiPos(edit1.text[i], m) = 0 then m := m + edit1.text[i];
for i := 1072 to 1105 do if AnsiPos(chr(i), m) = 0 then m := m + chr(i);
end;


 
Гость   (2011-02-21 11:25) [2]

1. а что за шифр такой?
2. т.е. дано 2 слова, из второго надо буквы, встречающиеся в первом, вынести вперед?

зы
недавно спам письмо получил - сплошные Т в теме...
не? :-|)


 
Distemp ©   (2011-02-21 11:54) [3]


> 1. а что за шифр такой?2. т.е. дано 2 слова, из второго
> надо буквы, встречающиеся в первом, вынести вперед?зынедавно
> спам письмо получил - сплошные Т в теме... не? :-|)

Например
лозунг: тетрадь
текст: ручка
алфавит: абвгдежзийклмнопрстуфхцчшщъыьэюя
алф. лозунга: терадьбвгжзийклмнопсуфхцчшщъыэюя
шифр: нсцзт

Алфавит лозунга должен получиться из лозунга+алфавит, без повторяющихся букв. Потом берем первую букву текста "Р" и ищем в алф. лозунга соответствующую ей по счету букву, получается "Н" и т.д., так и получается шифр.


 
Dennis I. Komarov ©   (2011-02-21 12:05) [4]

Это учебное задание?


 
Distemp ©   (2011-02-21 12:10) [5]


> Это учебное задание?

Да


 
Dennis I. Komarov ©   (2011-02-21 12:23) [6]

X := []; a := "";
i:=1..n do
if x[i] not in X then begin
 X add x[i];
 a add x[i];
end;

ABC:=a+ABC;

А что будешь делать если будет?

P.S. Это не код, это алгоритм...


 
han_malign   (2011-02-21 13:33) [7]

вообще то RC4 немного не так работает - перемешивание кодовой таблицы происходят не только на ключевой последовательности, но и на кодируемой посылке...
http://ru.wikipedia.org/wiki/RC4


 
Dennis I. Komarov ©   (2011-02-21 13:43) [8]


> А что будешь делать если будет?

Тетрадь



Страницы: 1 вся ветка

Текущий архив: 2011.05.29;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.009 c
3-1259497210
Sirus
2009-11-29 15:20
2011.05.29
RefreshSQL в ZeosDBO PostgreSQL


6-1237868359
RGV
2009-03-24 07:19
2011.05.29
Размер буфера в scktscomp.pas


2-1297926800
marales
2011-02-17 10:13
2011.05.29
проект при запуске показывает ошибку


9-1189415446
Help me!
2007-09-10 13:10
2011.05.29
Есть какая-нибудь разница в способе создания MIPMAP?


2-1298126730
Jumbo
2011-02-19 17:45
2011.05.29
Мультиязычное приложение