Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Reskov
12 / 12 / 1
Регистрация: 14.12.2009
Сообщений: 33
#1

Вычисление выражение во время выполнения программы - C++

25.12.2009, 01:06. Просмотров 730. Ответов 4
Метки нет (Все метки)

Есть строка типа String например ((A*B)*(C-B*3)-A)*С
нужно вычислить это выражение, причем 'А' .. 'Z' переменные

т.е. нужна функция double eval(String );
с принципом работы таким же как eval в JS

Может кто встречал в интернете готовый пример на с++???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2009, 01:06     Вычисление выражение во время выполнения программы
Посмотрите здесь:

C++ Определить время выполнения программы
Окно программы во время выполнения цикла C++
Определить время выполнения программы C++
C++ Определить время выполнения программы
Использование ОСХ во время выполнения программы C++
C++ Ошибка во время выполнения программы.
Посчитать время выполнения программы C++
Как вы тестируете время выполнения программы? C++
C++ Определить время выполнения этой программы
C++ Ошибка во время выполнения программы
C++ Как уменьшить время выполнения программы?
Уменьшить время выполнения программы C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт С++
7153 / 3293 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
25.12.2009, 20:41     Вычисление выражение во время выполнения программы #2
Сам напиши - это не так трудно.
Есть как минимум два способа.
1) Пишется парсер леворекурсивной грамматики.
Заодно этот парсер вычисляет значение выражения во время обратного хода.
2) Выражение преобразуется в обратную польскую запись.
Потом строится вычислитель по обратной польской записи, который считает значение.

Добавлено через 21 секунду
Леворекурсивная грамматика.
То выражение что ты привел относится к ней.
Reskov
12 / 12 / 1
Регистрация: 14.12.2009
Сообщений: 33
25.12.2009, 21:16  [ТС]     Вычисление выражение во время выполнения программы #3
эххх...сам то я могу...но хотелось скинуть эту ношу на плечи кого-нить другога... но видимо да, если хочешь сделать что-то хорошо сделай это сам)))
odip
Эксперт С++
7153 / 3293 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
26.12.2009, 14:32     Вычисление выражение во время выполнения программы #4
Если тебе нужно еще чтобы было хорошо - тогда точно только сам.

А так вообще можно взять какой-нибудь готовый скриптовый язык.
Например LUA - http://www.lua.org/

Добавлено через 2 минуты
Для Qt есть встроенный Qt Script: http://doc.trolltech.com/4.3/qtscript.html
Reskov
12 / 12 / 1
Регистрация: 14.12.2009
Сообщений: 33
27.12.2009, 11:59  [ТС]     Вычисление выражение во время выполнения программы #5
прикольная штука и одна и вторая мне она правда не очень подходит, все равно придется писать самому, но спасибо большое, очень крутая вещь! спс!
Yandex
Объявления
27.12.2009, 11:59     Вычисление выражение во время выполнения программы
Ответ Создать тему
Опции темы

Текущее время: 09:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru