Форум: "Начинающим";
Текущий архив: 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