![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 276 Pomógł: 3 Dołączył: 22.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie. Chciałem stworzyć sobie klasę, która będzie mi generowała losową próbkę spośród zestawu liter.
Następnie dla tak wygenerowanej próbki znajduje wszystkie wariacje (permutacje) bez powtórzeń. Np dla wylosowanego zbioru licz: A,B,C ma zwrócić: A,B,C A,C,B B,A,C B,C,A C,A,B C,B,A ale dla zbioru: A,B,A ma już zwrócić A,A,B A,B,A B,A,A Poniżej znajdziecie klasę, która działa "prawie" dobrze. Niestety jak to bywa, prawie robi różnicę (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Zwraca mianowicie dla zestawu A,B,C A,B,C B,A,C C,A,B czyli zwraca pierwszą znalezioną kombinację, zaczynającą się kolejno od litery:A, następnie od B, a następnie od C Poniżej klasa i jej wywołanie: wywołanie
klasa
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 13 Dołączył: 16.03.2007 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Mialem troche czasu i napisalem taka funkcje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Jako argument podstawiasz lancuch i na wyjsciu masz tablice ze wszystkimi kombinacjami w kolejnosci alfabetycznej. Dziala tak jak chciales dla ABC, ABA (...) i dla ABCBCCDJAJZZ tez (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) PS: Wydaje mi sie, ze taki problem wykracza poza te ktore powinny sie znajdowac w dziale Przedszkole i temat powinien trafic do dzialu o PHP. Ten post edytował PiXel2.0 15.05.2008, 19:18:37 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 23:13 |