Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Sprawdzanie czy kolejność cyfr jest poprawna
rolling_stone
post
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
  1. <?php
  2. $wzorzec = &#092;"([2]{*})([7]{*})([2]{*})\";
  3. ?>
, 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
Go to the top of the page
+Quote Post
dr_bonzo
post
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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.09.2025 - 11:35