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,并且没有评估的要求,那么这个问题几乎不值得问。。。