![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
Есть буквы ABC как получить всевозможные варианты записи этих 4 букв
ABC ACB BAC BCA CAB CBA Так как текст может быть и не ABC... Код:
function faktorial(n: Integer): Integer;
begin;
if((n=0)OR(n=1))
then Result:=1
else Result:=n*faktorial(n-1);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
variants, i:integer;
begin
i:=length(edit1.Text); //Длина текста
variants:=faktorial(i); //Получаем макс. значение цикла
for I := 1 to variants do
begin
{тут должен быть код который поменяет местами буквы
так что бы не было одинаковых}
end;
end;Последний раз редактировалось Electronic_Arts, 22.11.2010 в 18:43. |
|
#2
|
||||
|
||||
|
Ребята помогите - такое же возможно - но как это реализовать не могу придумать - дайте хоть какую нить зацепку...
|
|
#3
|
|||
|
|||
|
Код:
const alf ='ABC';
var n1, n2,n3:integer;
rs: string[3];
list: TStringList;
list:=TstringList.Create;
for n1:=1 to length(alf)
begin
rs[1]:=alf[n1];
for n2:=1 to length(alf)
begin
rs[2]:=alf[n2];
for n3:=1 to length(alf)
begin
rs[3]:=alf[n3];
list.add(rs);
end;
end;
end;
list.savetofile(....); |
|
#4
|
||||
|
||||
|
Чисто виртуозно написано но не подходит
Код:
const alf ='ABC'; // не получится
var n1, n2,n3:integer;
rs: string[3]; // тоже не пойдет
list: TStringList;
list:=TstringList.Create;
for n1:=1 to length(alf) {количество выполняемых циклов находим факториалом потому что 3 книжки можно разместить в полке 6ю разными способами}
begin
rs[1]:=alf[n1];
for n2:=1 to length(alf)
begin
rs[2]:=alf[n2];
for n3:=1 to length(alf)
begin
rs[3]:=alf[n3];
list.add(rs);
end;
end;
end;
list.savetofile(....);Но все же спасибо что старался помочь |
|
#5
|
||||
|
||||
|
Нет мистер MrDiG ты гений! Заметил что длина текста влияет на буквы - например - если текст состоит из 4 букв то каждая буква в ходе дела меняет свое место 4 раза - если еще размыслить то получиться!
|
|
#6
|
||||
|
||||
|
Нет мистер MrDiG ты не гений - ты тоже смертный - я поторопился с выводами - в твоем коде не то что куча ошибок но и не правильное присвоение...
|