0

可能重复:
在 C# 中自动计算字符串数学表达式

有人可以向我指出一些资源,这些资源详细描述了如何简化简单的代数方程,例如“5x+(2x*6x)+2”,这应该导致“12x^2+5x+2”我需要处理的运算符是“ +","-","*","/","^" 和括号。到目前为止,我已经为数字项实现了一个解析器和求值器,它从 in-fix 转换为 post-fix 然后进行评估。

如果有人能给我一个关于如何实现这一目标的基本说明,我将不胜感激。

4

1 回答 1

1

如果您在内部已经有一个表示方程式的树,您可以递归地访问每个节点以找出是否有一种方法可以组合两个子节点的项。想想你会在每个节点上做什么,然后想想边界条件(节点为空,节点没有子节点等)。

这是我将如何处理它:

  1. 轮流拜访每个孩子
  2. 有一个函数可以在孩子中找到相同变量的共同幂并将它们组合起来。考虑多变量方程 b. 记住您的输出格式与工作副本格式。您需要将最终结果转换回文本。

这是一个开始。我认为

于 2012-04-06T13:08:50.373 回答