Главная страница
    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.005 c
2-1203478710
Biomass
2008-02-20 06:38
2008.03.23
графическую зависимость данных от времени


4-1185433986
Dmitry_177
2007-07-26 11:13
2008.03.23
Можно ли какнибудь определить время и период срабатывания таймера


15-1202801091
needhelp
2008-02-12 10:24
2008.03.23
борьба с adWare/SpyWare


2-1203717911
Res
2008-02-23 01:05
2008.03.23
чат


2-1204046249
Леха
2008-02-26 20:17
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский