C++ 用改进的反向波兰符号求解方程

C++ 用改进的反向波兰符号求解方程,c++,input,postfix-notation,C++,Input,Postfix Notation,我必须写一个程序,用四个基本运算来解方程。 该程序必须如下所示: 输入示例: SET a = 1 SET b = 3 SOLVEFOR c ( 4 * ( b - c + 2) + a ) = ( 2 - a ) 输出: c = 5.000000 我使用反向波兰符号来计算等式右边的值,我知道这里只有已知的数字。 至于左边,那是我的问题。我知道一定有办法修改RPN来得到那个变量,但我不知道该怎么做。有什么建议吗 编辑:我知道这可以通过二叉树实现,但我正在尝试使用RPN 如果可以使用二叉树进行

我必须写一个程序,用四个基本运算来解方程。 该程序必须如下所示:

输入示例:

SET a = 1
SET b = 3 
SOLVEFOR c ( 4 * ( b - c + 2) + a ) = ( 2 - a )
输出:

c = 5.000000
我使用反向波兰符号来计算等式右边的值,我知道这里只有已知的数字。 至于左边,那是我的问题。我知道一定有办法修改RPN来得到那个变量,但我不知道该怎么做。有什么建议吗


编辑:我知道这可以通过二叉树实现,但我正在尝试使用RPN

如果可以使用二叉树进行求解,则可以使用RPN进行求解

首先用二叉树在纸上画出你的解。当你能看见的时候,思考就容易多了。您将在不影响方程式结果的情况下对树进行重新平衡操作

一旦左手边的未知被隔离,你就完成了。每个再平衡操作在RPN中都有一个等价的操作,它是树的平面表示


当您看到绘制的解决方案时,就会有一些见解。

如何使用符号来计算表达式?