Главная страница
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.015 c
15-1297845759
bss
2011-02-16 11:42
2011.05.29
TOleContainer


2-1298018206
Scott Storch
2011-02-18 11:36
2011.05.29
процедурные ссылки


15-1297286974
Юрий
2011-02-10 00:29
2011.05.29
С днем рождения ! 10 февраля 2011 четверг


2-1297969851
Criptonik
2011-02-17 22:10
2011.05.29
путь к директории с помощью opendialog


15-1297379189
Кто б сомневался
2011-02-11 02:06
2011.05.29
Возможно ли технически поймать вирус без браузера