Witam, już po raz drugi. Ostatnio chciałem napisać program, który rozwiązuje równania po wprowadzeniu ich do konsoli, tych prostych jak i tych bardziej skomplikowanych. Po paru poradach, które dostałem, natknąłem się na coś takiego, czym jest tokenizacja ONP, co teoretycznie jestem w stanie zrozumieć, ale z użyciem w praktyce jest gorzej. Tu macie przykład zamiany zwykłego, konwencjonalnego zapisu równania na ONP wzięty z Wiki. Może ktoś mógłby mi podpowiedzieć jak zapisać to w C++?
Dla wszystkich symboli z wyrażenia ONP wykonuj:
Jeśli i-ty symbol jest liczbą, to odłóż go na stos,
jeśli i-ty symbol jest operatorem to:
- zdejmij ze stosu jeden element (ozn. a),
- zdejmij ze stosu kolejny element (ozn. b),
- odłóż na stos wartość b operator a.