C++ 识别给定函数中的不同变量

C++ 识别给定函数中的不同变量,c++,C++,给出一个数学表达式,比如说x1x2或x1^2+x2^2 < >我需要编写一个C++程序,它从最终用户及其内部表达表达式,并替换 x1 < /C> >代码> x2 < /C> >数组值如 x1 < /> > a(1)< /C> > < /P> 如何做到这一点,请帮助我 这是我第一次使用cpp int main() { float i; char* exp[20]; derivtype g(derivtype x); cin>>i;

给出一个数学表达式,比如说
x1x2
x1^2+x2^2

< >我需要编写一个C++程序,它从最终用户及其内部表达表达式,并替换<代码> x1 < /C> >代码> x2 < /C> >数组值如<代码> x1 < /> > <代码> a(1)< /C> > < /P> 如何做到这一点,请帮助我

这是我第一次使用cpp

int main()
{     
    float i;
    char* exp[20]; 
    derivtype g(derivtype x);
    cin>>i;
    cin>>exp;

    for(i=1:i<=i:i++)
    {

    }
}
intmain()
{     
浮点数i;
char*exp[20];
derivtype g(derivtype x);
cin>>i;
cin>>exp;

对于(i=1:i嗯,这是编译器的领域

您需要的是诸如lex/yacc工具之类的工具来识别这些数学表达式的语法。从那里您可以自定义


您可以从一些示例代码或教程开始,例如

嗯,这是编译器的领域

您需要的是诸如lex/yacc工具之类的工具来识别这些数学表达式的语法。从那里您可以自定义


你可以从一些示例代码或教程开始,比如

你需要为数学表达式实现解析器。这对于C++初学者来说是一项艰巨的任务。不是你的C++知识让你失望,你需要学习解析理论。安德烈和托尼:我是不是漏掉了什么东西,或者简单的字符串替换就足够了?estion没有提到计算表达式的任何内容。@Luctureaille:任务还不够清楚……即使不需要计算表达式,也需要进行一些分析,例如,区分
x1
x11
变量。如果只有两个变量,并且始终称为x1和x11,则替换x11首先,没有评估的必要,然后这个问题就不值得问了……你需要为数学表达式实现解析器。这对于C++初学者来说是一项艰巨的任务。不是你的C++知识让你失望了,你需要学习解析理论。@安德烈和托尼:我是不是漏掉了什么东西,还是一个简单的字符串?替换就足够了?这个问题没有提到任何关于计算表达式的内容。@Luctureaille:任务还不够清楚……即使不需要计算表达式,也需要进行一些解析,例如,区分
x1
x11
变量。如果只有两个变量,并且始终调用它们,则d x1和x11,首先替换x11,并且没有评估的要求,那么这个问题几乎不值得问。。。