数式を別の形式に変換する場合は、最初に後置/前置式に変更することをお勧めします(< リンクでは、「中置」に戻す方法も説明されています)。あなたの関数(例:sin(x)
定数として))。参考文献を見つけるためのソースがたくさんあります。
簡単な Infix/Postfix Calculator へのリンクがある
ので、試したことがない場合は試してみることができます。
次に中置に戻しますが、今回は掛け算と割り算を分配します
例えば。
*
/ \
A +
/ \
B /
/ \
C D
Infix: A*(B+C/D)
Postfix: ABCD/+*
ABCD/+*
C and D division first (distribute) >>> C/D
B and C/D addition(addition,nothing to distribute) >>> B+C/D
A and B + C/D multiplication (distribute) >>> A*B+A*C/D
したがって、一般的に言えば、足し算と引き算の文字列を連結するだけです。
しかし:
乗算すると、 文字列が最初とA
最後に追加されますまたは"A*"
'+'
'-'
で除算する場合は 、最後とすべてのまたはの前に文字列をB
追加します。"/B"
'+'
'-'
これはすべての単純な式をカバーする必要があると思います。式が広範囲に分岐し、完全には考えていない場合は、さらにいくつかのケースが必要になる場合があります (または必要ない場合もあります)。フィードバックをいただければ幸いです。