我想开发一个显示给定数学方程式的GUI应用程序.当您单击等式中的特定变量以表示它是未知变量即要计算时,等式转换为自身以评估所需的未知变量.
例如:
a = (b+c*d)/e
Run Code Online (Sandbox Code Playgroud)
让我们假设我点击"d"表示它是未知变量.然后应该将等式重新构造为:
d = (a*e - b)/c
Run Code Online (Sandbox Code Playgroud)
截至目前,我只想知道如何根据用户输入重新排列给定的等式.我从哥哥那里得到的一个建议是在后端使用预修复/后期修复符号表示来评估它.
这是唯一的方法还是有任何更简单的建议?此外,我不仅将使用基本的数学函数,还将使用三角函数和微积分(基本的我认为.没有偏微分和所有这些).我认为前/后修复符号评估可能对评估更高的数学函数没有帮助.
但这只是我的意见,所以请指出我是不是错了.此外,我将使用SymPy进行数学评估,因此对给定数学方程的评估不是问题,从给定的通用方程创建特定方程式是我的主要问题.
在学习C++(和C)时,我对堆栈分配的工作有一些特别的疑问,我无法找到解决方案:
堆栈分配是否隐式调用malloc/free函数?如果不; 它如何确保堆栈分配和堆分配之间没有冲突?
如是; C++中的堆栈分配是否也隐式调用new/delete?如是; 重载一个类的new运算符会影响它的堆栈分配吗?
它在VC++中产生了令人困惑的结果; 但由于VC++并不完全符合标准(或者我听说过),我决定在这里问一下......