Здравствуйте, 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>Зарание огромное спасибо...
Дерево, что же еще! Строишь дерево разбора, узлами которого являются операции, числа и переменные. Потои в функции, вычисляющей значение, просто на место переменных ставишь нужные числа.