Показать сообщение отдельно
Старый 15.04.2016, 17:00   #2
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: парсинг математического выражения

Сообщение от ant0N Посмотреть сообщение
как правильно делается парсинг математического выражения из строки?
например "2*(1+2/2)"
мой ум сразу начал выдумывать пытки глазам.
Ну как,изнутри, складывая операторы в стек, получается обраная польская запись.
Ищешь внутренние скобки, а в них потом по приоритету оператора. Для примера у тебя стек будет выглядеть так:

/ 2 2 + 1 * 2

В реалиации это немного сложнее. Смотри тут, но там как-то муторно, как-то другую статью читал, там было лучше реализовано :
https://habrahabr.ru/post/122397/
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ant0N (15.04.2016)