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

Вниз

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

 
Res   (2008-02-27 00:08) [0]

Здраствуйте уважаемые Мастера, пытаюсь написать генератор всех последовательностей. Но пока ничего путного не вышло :(
var
list,password:string;
x,y,z:integer;
begin
x:=1;
list:=form1.Edit1.Text;

for x:=1 to 3 do
begin
y:=0;
z:=0;
 while(y<length(list)) do
 begin
 Inc(y);
 password:=list[y];
   while(z<length(list)) do
   begin
   Inc(z);
       if(length(password)=x) then
       begin
       form1.Memo1.Lines.Add(password);
       break;
       end;
     password:=password+list[z];
   end;
 end;

end;

end;


 
Res   (2008-02-27 00:16) [1]

Задача: сгенерировать в таком порядки: допустим в маске стоит (list) 1234
1
2
3
4
11
12
13
14
21
22
23
24
31
32
33
34
41
42
43
44


 
Германн ©   (2008-02-27 00:49) [2]


>
> Res   (27.02.08 00:08)
>
> Здраствуйте уважаемые Мастера, пытаюсь написать генератор
> всех последовательностей. Но пока ничего путного не вышло
> :(
> var
> list,password:string;
> x,y,z:integer;
> begin
> x:=1;                                         //а это зачем?
> list:=form1.Edit1.Text;
>
> for x:=1 to 3 do                       //почему 1-3, а не 1-4?
> begin
> y:=0;
> z:=0;
>  while(y<length(list)) do
>  begin
>  Inc(y);
>  password:=list[y];
>    while(z<length(list)) do
>    begin
>    Inc(z);
>        if(length(password)=x) then                            //по примеру из [1] длина строки тут не причем.
>        begin
>        form1.Memo1.Lines.Add(password);
>        break;
>        end;
>      password:=password+list[z];
>    end;
>  end;
>
> end;
>
> end;
>

Короче продолжай думать и пробовать.


 
Res   (2008-02-27 00:56) [3]

Спасибо за совет :) но лучше хоть бы что нить подсказали )))


 
Германн ©   (2008-02-27 01:03) [4]


> Res   (27.02.08 00:56) [3]
>
> Спасибо за совет :) но лучше хоть бы что нить подсказали
> )))
>

А я разве не подсказал? Я что для своего собственного развлечения ставил комментарии? Или тебе нужен готовый код? Тогда ты ошибся адресом. Здесь не подают. Здесь помогают исправлять ошибки тем, кто что-то сам делает.


 
Res   (2008-02-27 01:38) [5]

Прошу прощения что еще раз беспокою, но никак не могу понять почему печатает:
1
2
11
21
112
212

Хотя должно
1
2
11
12
21
22
...

var
list,password:string;
x,y,z,t:integer;
begin
list:=form1.Edit1.Text;
 for x:=1 to 3 do  //Какое макс кол-во символов
 begin
   for y:=1 to length(list) do  //Делаем от начала списка
   begin
   password:=list[y]; //Начальный символ
     for z:=1 to length(list) do //
     begin
       if(length(password)=x{Если длина пароля равна x}) and (z=length(password){и z равна последнему символу в маске}) then break;
       password:=password+list[z];
     end;
     form1.Memo1.Lines.Add(password);
   end;
 end;
end;


 
Германн ©   (2008-02-27 02:08) [6]


>  for x:=1 to 3 do  //Какое макс кол-во символов

Объясни смысл этого цикла с учётом комментария.


 
Бегущий человек ©   (2008-02-27 13:05) [7]

Д.Кнут , том первый. глава первая.  Или том четвертый, который полностью посвещен проблеме генерации всех кортежей и перестановок.



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

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

Наверх




Память: 0.46 MB
Время: 0.006 c
2-1204001712
None
2008-02-26 07:55
2008.03.23
Ширина вертикальной прокрутки в Tscrollbox


15-1202892081
Ega23
2008-02-13 11:41
2008.03.23
Просьба типа вчерашней


11-1186050008
Andrey_rus
2007-08-02 14:20
2008.03.23
Выравнивание контролов


2-1203878639
NieL
2008-02-24 21:43
2008.03.23
Transparency


3-1191587246
BlackCat
2007-10-05 16:27
2008.03.23
Разграничение полномочий в приложении, работающем с БД





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский