Re: Частые вычисления по неопределенной формуле!!!
От: _temp_  
Дата: 22.04.04 06:55
Оценка:
Здравствуйте, GrayWizard, Вы писали:

GW>Помогите решить такую задачу:

GW>В программе происходят вычисления по разным формулам
GW>( Например (v1*v2)/v3+6 и значение переменных v1, v2, v3 )
GW>Функция проводит синтаксический анализ формулы и строит что-то (это главный вопрос), что в последствии программой воспринимается, как алгоритм рассчета с переменными v1,v2...
GW>В результате получаем какое-то число...
GW>Надо, чтобы подобная функция проводила анализ шаблона формулы один раз, чтобы потом просто подставлять туда переменные и вычислять арифметическое выражение...
GW>Т.е.:
GW>??? f(char par[]) — функчия разбора синтаксиса
GW>{
GW> return ???;
GW>}//Должна запускаться один раз и скорость работы не важна

GW>int f1(???,int a, int b, int c)

GW>{
GW> с=..Только арифмитические действия над a, b и с по какому-то правилу ???
GW> return c;
GW>}//Для этой функции необходима максимальная скорость вычисления

GW>Что использовать в качестве "???"

GW>Помогите!!!
GW>Зарание огромное спасибо...

Дерево, что же еще! Строишь дерево разбора, узлами которого являются операции, числа и переменные. Потои в функции, вычисляющей значение, просто на место переменных ставишь нужные числа.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.