我是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