![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 2 Dołączył: 20.08.2004 Skąd: Warszawa Grochów Ostrzeżenie: (0%) ![]() ![]() |
No to teraz mam chyba trudniejszy problem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Otóż mam na przykład trzycyfrową sekwencję wyjściową: 272 i muszę teraz sprawdzić czy jakaś inna sekwencja (wykorzystująca tylko cyfry z sekwencji wejściowej), np. 2277 zachowuje kolejność cyfr sekwencji wyjściowej (272). I tak na przykład 2277, 2222, 7777 czy 7222 zachowują tę kolejność, ale 2727 już nie, tak samo jak 7277. Bardzo byłbym wdzięczny, gdyby ktoś mógł mi podpowiedzieć co z tym zrobić. I od razu może powiem, że sekwencja wyjściowa może mieć do 10 000 cyfr, natomiast sekwencje, które muszą zostać sprawdzone, muszą mieć tylko 4 cyfry. Zastanawiałem się czy nie użyc funkcji ereg i jako wzorca w tym konkretnym przypadku , ale takie rozwiązanie raczej nie działa Pozdrawiam i z góry dziękuję! Ten post edytował rolling_stone 14.06.2005, 23:04:04 |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Moze tak:
przegladasz po kolei wzorzec wyjsciowy az natrafisz na pierwsza cyfre z sekw. wejsciowej. Jesli nie znalazles to sekwencja jest odrzucana. Jesli znalazles to przechodzisz do kolejnej cyfry sekwencji i sprawdzasz czy w ciagu wyjscoowym znajduje sie kolejna cyfra (pamietaj zeby sprawdzic tezz najpierw ta pozycje dla ktorej zaakceptowales poprzednia cyfre sekwencji) itd. az do odnalezienia wszystkich cyfr sekwencji lub jej odrzucenia. sekwencja: 2277 c. wyjsciowy:272 Kod 2277
^ 272 ^ 2 - OK 2277 ^ 272 ^ 2 - OK 2277 ^ 272 ^ 2277 ^ 272 ^ 7 - OK 2277 ^ 272 ^ 7 - OK ------------- a teraz: 2727 ^ 272 ^ 2 - OK 2727 ^ 272 ^ 2727 ^ 272 ^ 7 - OK 2727 ^ 272 ^ 2727 ^ 272 ^ 2 - OK 2727 ^ 272 ^ 2727 ^ nie zaakceptowano wszystkich znakow 272 ^ -- koniec ciagu wyjsciowego |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 11:35 |