我是C++的初学者,并且正在尝试查找是否存在允许“扫描”输入以检测输入的方程式类型的函数。C++如何展开/因式分解方程式(不解决问题)
基本上,我想要做的是输入类似(a-b)^2
和计划将其扩大到a^2-2*a*b+b^2
或进入ax^2+by+c
和程序会给我a(x-α)+β
。
我以前做的是简单地问了将要进入什么类型的方程,然后问具体是什么每个因素(像这样):
int a, a2;
int b, b2;
int inbetween;
cout << "Equation of type (ax+by)^2.\nPlease enter the factor of X : ";
cin >> a;
cout << "Please enter the factor of Y : ";
cin >> b;
a2 = a*a; //pow(a,2)
b2 = b*b; //pow(b,2)
inbetween = 2*a*b;
cout << "(" << a << "x + " << b << "y" << ")^2 = " << a2 << "x + " << inbetween << "xy + " << b2 << "y\n";
// (ax + by)^2 = a^2x + 2*a*b*xy + b^2y
但是这正是我不想做。
我想知道是否有一种方法来扩展输入的编码程序支持的任何类型的公式。
我希望自己足够清楚,英语不是我的主要语言我发现我想表达的内容并不十分清楚。
搜索[softwarerecs.se]。软件推荐对于StackOverflow是无关紧要的。 –
@ThomasMatthews我不是这个快速香蕉是要求使用什么技术;只是为了解决这个问题是否有一个简单的方法。 –
实现检测输入表达式的数学顺序和其他特征的函数的最可靠方法是使用像boost这样的通用工具编写表达式分析器。然而,这对新手来说不一定是一项任务。但你必须以某种方式学习。 – JimmyNJ