![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| np9mi7 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 553 Регистрация: 17.8.2003 Где: Volgograd, Russia Репутация: 5 Всего: 10 |
Добрый день!
Емеется некоторое выражение вида:
Необходимо вычислить значение этого выражение; Может кто подскажет как разложить (или где почитать как разложить) это выражение в некоторую структуру данных (например бинарное дерево) из которой прозрачно определялся приоритет операций и вычисление осуществлялось прозрачно? Может вообще для этого библиотека есть написаная? Заранее благодарен за ответы. ps: но лучше алгоритм; |
|||
|
||||
| BreakPointMAN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 15.9.2004 Где: Saratov Репутация: 14 Всего: 24 |
Теория - http://algolist.manual.ru: Разбор выражений. Компиляторы и интерпретаторы.
Неплохая реализация - http://rsdn.ru: Класс TParser. Парсер математических выражений. -------------------- "Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце") |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
Что касается библиотек, то для C++ задачи такого уровня сложности превосходно решаются Boost.Spirit. В поставке есть несколько готовых примеров парсера арифметических выражений.
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 1 Всего: 26 |
В Страуструпе же хороший калькулятор есть способный это обработать
-------------------- Жизнь - печальная штука. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |