![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 316 Pomógł: 0 Dołączył: 5.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
prosze nie pytajcie dlaczego nie korzystam ze strstr(), nie ja to wymyslalem (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Mam napisac program ktory szuka jednej frazy ($search) w innej frazie ($belt). Ma szukac w nastepujacy sposob: przechodzi po znakach z $belt, jezeli dany znak z $belt pokrywa sie ze pierwszym z $search to przechodzi ze stanu 0 w stan 1 i sprawdza kolejny. Jezeli sie zgadza to przechodzi w stan 2 itd. Logicznym jest ze jezeli nr stanu jest rowny dlugosci $search to napis zostal znaleziony. Jest jeszcze znak * wystepujacy w $search ktory zastepuje kazdy inny, czyli w jego wypadku automatycznie przechodzimy w stan wyższy. Mam jednak powien problem bo moj program dziala nie dla wszystkich przypadków. Oto kod:
teraz pięknie znajdzie 'm*' jako 'ma' na samym dole wygeneruje tablice przejsc, ale nas to nie obchodzi. Niestety nie działa to dla przypadku np. $belt = 'alaalaalaalab'; i $search = 'alab'; dlaczego? jak to poprawić? sa jakies inne dla ktorych nie zadziała? prosze o pomoc |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Nieautoryzowani Postów: 92 Pomógł: 15 Dołączył: 21.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
No zwal jak zwal...
Moj i Twoj kod przechodzi taka sama ilosc razy po stringach (jednak twoj robi w niektorych przypadkach wiecej niepotrzebnych przejsc) wiec nie nazwalbym tego komplikowaniem tym bardziej ze moj kod jest bardziej intuicyjny No ale racja jest jak ... kazdy ma swoja Ten post edytował heaven 14.11.2007, 12:30:20 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 03:19 |