Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

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

Может кто встречал в интернете готовый пример на с++???
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2009, 01:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычисление выражение во время выполнения программы (C++):

Время выполнения программы - C++
Здравствуйте.Я до сих пор новичок в программировании,сразу скажу,и тонкостей не знаю. Собрал я тут программу с использованием CUDA.И...

Ошибка во время выполнения программы. - C++
Здравствуйте, помогите, пожалуйста, разобраться. Пытаюсь сдать задачу, из 27 тестов в трех - ошибка во время выполнения программы. ...

Уменьшить время выполнения программы - C++
#include <iostream> using namespace std; int main() { int n; cin >> n; char mas; int k;

Определить время выполнения программы - C++
Господа как засеч време выполнение программы? Заранее всем огромное спасибо!!!

Определить время выполнения программы - C++
В связи с доработкой алгоритма разных прог, иногда необходимо посмотреть на сколько повысилась производительность и уменьшилось время...

Определить время выполнения программы - C++
Как узнать сколько выполняется программа на С++.Т.е. что бы со всеми результатами,скажем в конце, выводилось еще и ее время выполнения,...

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

Добавлено через 21 секунду
Леворекурсивная грамматика.
То выражение что ты привел относится к ней.
0
Reskov
12 / 12 / 1
Регистрация: 14.12.2009
Сообщений: 33
25.12.2009, 21:16  [ТС] #3
эххх...сам то я могу...но хотелось скинуть эту ношу на плечи кого-нить другога... но видимо да, если хочешь сделать что-то хорошо сделай это сам)))
0
odip
Эксперт С++
7159 / 3221 / 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
1
Reskov
12 / 12 / 1
Регистрация: 14.12.2009
Сообщений: 33
27.12.2009, 11:59  [ТС] #5
прикольная штука и одна и вторая мне она правда не очень подходит, все равно придется писать самому, но спасибо большое, очень крутая вещь! спс!
0
27.12.2009, 11:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2009, 11:59
Привет! Вот еще темы с ответами:

Ошибка во время выполнения программы - C++
Здравствуйте, есть задача Дано два списка чисел, числа в первом списке упорядочены по неубыванию. Для каждого числа из второго списка...

Посчитать время выполнения программы - C++
В среде visual studio 2012 можно? или в коде написать что нужно, подскажите

Время выполнения куска программы в миллисекундах - C++
Доброго времени суток. Нужен код, позволяющий узнать время выполнения куска кода(желательно в миллисекундах).

Время выполнения программы равно нулю - C++
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { clock_t start, end; float i; start =...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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