Witam, mam za zadanie napisać ten program:
Napisz funkcję match(char* wzorzec, char* łańcuch), która ustala zgodność wzorca z
łańcuchem. Znak ’ ?’ we wzorcu oznacza zgodność z dowolnym innym znakiem. Znak
’’ oznacza zgodność z dowolnym, również pustym, ciągiem znaków w łańcuchu.
Znak różny od ’ ?’ i ’’ oznacza zgodność tylko z samym sobą.
Na przykład
• match(”.doc”,s) ma zwracać true wtedy i tylko wtedy, gdy napis s jest ciągiem
dowolnych znaków z czterema ostatnimi znakami ’.doc’
• match(”a???”,s) ma zwracać true wtedy i tylko wtedy, gdy s ma długość 4 i
zaczyna się od litery ’a’
• match("abbc", s) ma zwracać true wtedy i tylko wtedy, gdy napis s zaczyna
się od litery ’a’ i kończy się literą ’c’ a między nimi znajdują się przynajmniej
dwie litery ’b’ (niekoniecznie obok siebie)
No i napisałem go, ale teraz potrzebuje obiektywnego oka które mogło by podać mi taki przykład, na którym mój program się "wyłoży".
- gdy wpisuje jak wzór: " *.doc " , a jako łańcuch np: "iabuewbiw.doc" to zgadza się
- gdy wpisuje jak wzór: "a???" , a jako łańcuch np: "ahdw" działa poprawnie, jeżeli dam w tym wzzorcu coś dłuższego np"ahdwwww" to poprawnie zwraca "false"
- gdy wpisuje jak wzór: "abb*c" a jako łańcuch np: "a b b c" poprawnie wskazuje "true"
Mogłem pominąć jakiś przypadek?
Nie chcę się wyłożyć na jakimkolwiek przykładzie.
Za rady z góry dziękuję!