私は派生電卓を作ろうとしています(リンクリストを使用する必要があります)。LinkedList C++を使用した派生電卓
次のようにすべてのノードの構造は次のようになります。
struct node {
int coefficient;
string function;
int power;
node*fx;
node*gx;
node*next;
};
|係数|関数|パワー| f(x)| g(x)|次へ|
入力表現例:
3X^2((3X-3)/(4×2))+ SIN(4X-3)
係数*機能^力(F (X)/ G(X))+次
私は正規表現を使用してみましたが、ユーザが機能未知の数を投げるかもしれないので、それは、ネスト式に来るとき、それはで動作するように簡単ではありません。
私は何とか式を解析し、すべてをベクトルに分割してノードを埋めなければならないことを知っていますが、私はC++をかなり新しくしているので、そのロジックをコード化できません。
また、ExprTkで作業してみましたが、わかりにくいとわかりました。付属のreadmeファイル以外のオンラインチュートリアルは見つかりませんでした。
誰かが私を適切な方向に導くことができたり、偉大なチュートリアルを表示することができます。
括弧を無視して入力を分けることができますので、 'coefficient * function^power(f(x)/ g(x))'のリストを扱うだけです(分割しないでください'+'が含まれている場合は 'f(x)'または 'g(x)')を使用して、解析関数または正規表現が任意の数の関数を処理する必要はなく、 'f(x)'、 'g(x)'、 'next'を埋め込む関数です。 – nwp
ありがとうございます!それは入れ子の問題を解決します。 – Mincer