Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sprawdzanie kolejności cyfr
Forum PHP.pl > Forum > Przedszkole
rolling_stone
A teraz mam trochę inny problem:

Potrzebuję sprawdzić czy jakiś 4-cyfrowy ciąg np. 2727 ma taką samą kolejność cyfr jak na przykład ciąg 272 (w tym przypadku warunek jest niespełniony).

I tak na przykład dla ciągu początkowego 272 kolejność cyfr jest taka sama w ciągach 2777, 2722, 2777, 7772, itp., ale już nie jest taka sama w ciągach 2727, 7272, 7277, itp.

Zastanawiałem się nad użyciem funkcji ereg i nad wzorcem o postaci [2]{*}[7]{*}[2]{*}, ale takie rozwiązanie nie za bardzo chce działać.

Gdyby ktoś wiedział co z tym problemem zrobić, byłbym bardzo wdzięczny. Aha i jeszcze jedno: ciąg wyjściowy może mieć ilość cyfr do 10000, a ciąg do sprawdzenia musi mieć 4 cyfry.


Pozdrawiam i z góry dziękuję
SongoQ
Cytat
I tak na przykład dla ciągu początkowego 272 kolejność cyfr jest taka sama w ciągach 2777, 2722, 2777, 7772, itp., ale już nie jest taka sama w ciągach 2727, 7272, 7277, itp.


Prawidlowo to sformulowales?
rolling_stone
No dobrze - chodziło mi o to, że jest ciąg, który składa się z dowolnej ilości cyfr (np. 272),

I kilka innych czterocyfrowych ciągów, w których występują tylko i wyłącznie cyfry z ciągu początkowego (to znaczy 2 i 7).

Musimy sprawdzić czy kolejność cyfr w tych czterocyfrowych ciągach zgadza się z kolejnością cyfr w ciągu wyjściowym (272).

Chodzi mi o to, żeby np. istniała funkcja, która będzie wyglądała jakoś tak:

  1. <?php
  2.  
  3. function SprawdzKolejnosc($ciag_poczatkowy,$ciag_drugi)
  4. {
  5.  // jeśli kolejność się zgadza, return true;
  6.  // jeśli się nie zgadza, return false;
  7. }
  8.  
  9. SprawdzKolejnosc(272,2277); // true
  10. SprawdzKolejnosc(272,2272); // true
  11. SprawdzKolejnosc(272,7772); // true
  12.  
  13. // ale
  14.  
  15. SprawdzKolejnosc(272,7727); // false, dlatego, że może występować po kolei 2, 7 i 2 (każda cyfra dowolną ilośc razy), ale w takiej kolejności! A kolejnośc tu jest inna, bo jest 7, 2, 7
  16.  
  17.  
  18. ?>



Mam nadzieję, że teraz to lepiej wygląda.
dr_bonzo
A to http://forum.php.pl/index.php?showtopic=31671 questionmark.gifquestionmark.gif


-------------------------
OMG: Co za skleroza smile.gif
rolling_stone
A racja, dziękuję Ci bardzo, zupełnie zapomniałem, że tamten temat założyłem.

Dzięki i przepraszam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.