| Autor | Zpráva | ||
|---|---|---|---|
| pHprulz Profil * |
#1 · Zasláno: 3. 6. 2006, 09:20:57
Dobrý den, prosím, jak lze naprogramovat permutaci ? Potřeboval bych něco na kombinování např. a b c d ... pls poraďte
|
||
| llook Profil |
#2 · Zasláno: 3. 6. 2006, 10:07:27
No tak můžeš si to třeba dát do pole a pak vytvářet nové pole tak, že vždy náhodně vybereš prvek původního pole a přesuneš ho do nového:
$stary = array('a', 'b', 'c', 'd');
|
||
| ah01 Profil |
#3 · Zasláno: 3. 6. 2006, 10:27:36
taková fce. v php ale je: http://cz2.php.net/manual/cs/function.shuffle.php
|
||
| pHprulz Profil * |
#4 · Zasláno: 3. 6. 2006, 10:29:17
ok díky, zkusim
|
||
| Peca Profil |
#5 · Zasláno: 3. 6. 2006, 10:51:21
pHprulz
lze naprogramovat permutaci ? Potřeboval bych něco na kombinování Permutace a kombinace jsou ale dvě naprosto odlišné věci. Musíš si rozmyslet, co vlastně chceš :-) llook, ah01 Ten kód vypíš nanejvýš tak jednu náhodnou premutaci, celkem na nic. Stačí občas použív vyhledávač. Zas takový problém to není, např. http://usenet.jyxo.cz/cz.comp.lang.php/0209/permutace.html (netestoval jsem, ale vypadá to nadějně). |
||
| Ni7R0 Profil |
#6 · Zasláno: 3. 6. 2006, 10:59:14 · Upravil/a: Ni7R0
http://cz.php.net/manual/cs/function.str-shuffle.php
Pokud chcete permutaci stringu. |
||
| thingwath Profil |
#7 · Zasláno: 3. 6. 2006, 12:50:42
Už jsem to tu psal.
Budeme mít rekurzivní funkci, té budeme předávat mezivýsledek a pole možných prvků. Na počátku jí předáme prázdný mezivýsledek a úplné pole možných prvků. Pokud bude pole možných prvků nenulové, pro každý prvek z něj opět zavoláme sama sebe s tím, že do každého volání přidáme k mezivýsledku ten jeden prvek a naopak ho vyškrtneme z pole možných prvků. Až bude pole možných prvků prázdné, vytiskneme mezivýsledek. Nejsem si samozřejmě zcela jiístý, že je to to co chcete, ale celkem bych si za tím stál :-) |
||
| thingwath Profil |
#8 · Zasláno: 3. 6. 2006, 12:52:55
Peca
To mi moje řešení dost připomíná :-) |
||
|
Časová prodleva: 20 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0