nie potrafie poradzic sobie z zadaniem
Napisać program sprawdzający poprawność użycia nawiasów zgodnie ze składnią języka C, sygnalizujący błędy, podający numer linii i kolumny, w których wystąpił błąd
a) dla nawiasów (), [] i {}
b) dodatkowo dla nawiasów łańcucha tekstowego i nawiasów komentarza.
wiem jak napisac program który sprawdza czy po otwartym nawiasie np [ jest jego domkniecie ]
ale nie wiem co zrobic w przypadku nawiasów zagnieżdżonych tzn np {[()]} program nie powinien sygnalizowac bledow a robi to bo idąc po kolei zapamietuje np { czytając kolejny znaki nie mo odrazu domkniecia bo napotyka inne nawiasy i "glupieje"
prosze chociaz o wskazówki
program sprawdzający poprawność użycia nawiasów
-
- Użytkownik
- Posty: 6607
- Rejestracja: 16 sty 2007, o 19:42
- Płeć: Mężczyzna
- Podziękował: 119 razy
- Pomógł: 1823 razy
program sprawdzający poprawność użycia nawiasów
Najprościej użyć stosu. Napotykasz nawias - wrzucasz go na stos. Spotykasz następny - znów wrzucasz itd. Jak znajdziesz domknięcie - zrzucasz jedną wartość ze stosu. Jeśli wartość ze stosu to ten sam nawias, co domknięcie - idziesz dalej. Jeśli nie - błąd składniowy.
Pozdrawiam.
Pozdrawiam.
-
- Użytkownik
- Posty: 6607
- Rejestracja: 16 sty 2007, o 19:42
- Płeć: Mężczyzna
- Podziękował: 119 razy
- Pomógł: 1823 razy
program sprawdzający poprawność użycia nawiasów
No i co ja mam w takiej sytuacji zrobić? Metodę ci podałem. Wczytujesz sobie po linijce tekst i go parsujesz. Dalej korzystasz ze stosu i działa.
Pozdrawiam.
Pozdrawiam.