Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.03.23;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
3-1193576969
alexche
2007-10-28 16:09
2008.03.23
Проблемы с ADO Connection


6-1182958151
апвып
2007-06-27 19:29
2008.03.23
WebBrowser


2-1204013996
kiberg
2008-02-26 11:19
2008.03.23
свойство в виде массива


2-1203580033
lead-in
2008-02-21 10:47
2008.03.23
TkbmMemTable


15-1202872059
Slider007
2008-02-13 06:07
2008.03.23
С днем рождения ! 13 февраля 2008 среда





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский