Strona 1 z 1

jak przeksztalcic ten kod...

PostNapisane: 2 października 2005, o 20:56
przez koksik

jak przeksztalcic ten kod...

PostNapisane: 2 października 2005, o 22:45
przez januzi
rozwiazanie silowe
$tab[] = array() ;
$tab[] = $str ;
$ilosc_powtorzen = // tutaj podac liczbe roznych kombinacji -1 ktora juz wczesniej byla wpisana
$a = 1 ;
while( $a < $ilosc_powtorzen ) {
$str = str_shuffle( $str ) ;
if( !in_array( $str, $tab ) ) {
$tab[] = $str ;
$a++ ;
}
}

tak dlugo losujesz kombinacje, az zapelnisz tablice wszystkimi mozliwosciami, bedzie bardzo dlugo i do kitu :)


inne rozwiazanie:
tworzysz tyle obiektow, ile masz liter, kazdemu przypisujesz jedna litere z $str, ale tak zeby sie nie powtarzaly, dostajesz wtedy:
[a] [b] [c] [d] [e] [f]
w kazdym takim obiekcie masz $str pozbawiony litery umieszczonej w []
pomiedzmy, ze masz [a] czyli $str ='bcdef'
robisz to co przed chwila, kolejne litery z $str posluza do utworzenia nowego obiektu, tym razem otrzymujesz
[ab] [ac] [ad] [ae] [af]
powtarzasz ta operacje dla kazdego obiektu, az dojdziesz do momentu gdy $str = ''
w ten sposob otrzymasz drzewo wszystkich mozliwosci

sposob zapisu i wyznaczania kolejnych elementow zostawiam Tobie

PostNapisane: 3 października 2005, o 16:07
przez koksik
te drugie zadanie wydaje sie byc lepsze, tylko gdybys mogl to wez mi napisz ten skrypt, bo ja jakos nie wiem jak;)