Hirdetés

Keresés

Új hozzászólás Aktív témák

  • cucka

    addikt

    válasz Nite #2077 üzenetére

    A dupla ciklus totál fölösleges, egy for ciklus elég. Tudod a kezdő és a végső minta hosszát, így substr() függvénnyel azt is meg tudod mondani, hogy tetszőleges i. pozicióban kezdődik-e a start minta vagy a vége minta.
    Az általam írt programhoz hasonlóan:

    - ha találsz egy start-ot, akkor beállítod a jelző változót, hogy éppen egy keresett szóban vagyunk (ezt én ott $inw-nek hívtam), a ciklusváltozót pedig úgy állítod át, hogy a ciklus következő iterációjában a szó első betűjét dolgozza fel. Tehát ha i. helyen megtalálja az n hosszú mintát, akkor i=i+n-1
    - ha találsz egy vége pattern-t, akkor már nem vagyunk keresett szóban, a ciklusváltozót úgy állítod, hogy köv. iterációban a vége pattern utáni első betűt dolgozza fel.
    - ha a fentiek nem igazak, akkor a jelző változó függvényében rakod be a kimenetre a karaktert.

    Tulajdonképpen ugyanaz, mint amit írtam, csak két ellenőrzést kell kicserélni benne (ott ugye csak azt néztem, hogy a " karaktert talált-e a progi.

Új hozzászólás Aktív témák