• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Kalkulator i drzewo wyrażeń oraz kolejność wykonywania działań

Aruba Cloud PRO i VPS, Openstack, VMWare, MS Hyper-V
0 głosów
284 wizyt
pytanie zadane 13 lipca 2020 w C i C++ przez Programmingc100 Bywalec (2,620 p.)
Witam, usiłuję napisać program w konsoli który ma obliczać dowolne wpisane przez użytkownika wyrażenie(np . (2+10)*(8+29)). Szukając w internecie znalazłem kilka programów które obliczają takie wyrażenia, problem w tym, że jeśli użytkownik zapisze takie wyrażnie w stringu  a potem je będę chciał odczytać znak po znaku zamiast odczytać 10 odczyta 1...0 . Zastanawiam się jakiej innej struktury danych tutaj mógłbym użyć zamiast string czy tablicy char.
1
komentarz 13 lipca 2020 przez tkz Nałogowiec (42,000 p.)
Odwrotna notacja polska.
1
komentarz 13 lipca 2020 przez j23 Mędrzec (193,560 p.)
Dziwne pytanie. Tak czy siak będziesz musiał działanie w postaci łańcucha znakowego przeparsować, a czy to będzie ONP czy coś innego, nie ma większego znaczenia.
komentarz 13 lipca 2020 przez Programmingc100 Bywalec (2,620 p.)
Przeparsować? Tzn?
1
komentarz 13 lipca 2020 przez j23 Mędrzec (193,560 p.)

Dokonać analizy składniowej wyrażenia matematycznego - rozbić je na operandy (liczby) i operatory, po czym odpowiednio obliczyć zgodnie z kolejnością wykonywania zadań.

Tu masz prosty parser matematyczny (nie ONP), który kiedyś napisałem -> link Można go w prosty sposób rozszerzyć o obsługę nawiasów.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 1,375 wizyt
pytanie zadane 27 listopada 2018 w C i C++ przez niezalogowany
0 głosów
1 odpowiedź 198 wizyt
–1 głos
1 odpowiedź 2,946 wizyt

91,824 zapytań

140,490 odpowiedzi

316,950 komentarzy

61,159 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...