gpt4 book ai didi

c++ - 使用链表 C++ 的导数计算器

转载 作者:太空宇宙 更新时间:2023-11-04 13:01:36 29 4
gpt4 key购买 nike

我正在尝试制作一个导数计算器(我必须使用链表)。

每个节点的结构应该如下:

struct node {
int coefficient;
string function;
int power;
node*fx;
node*gx;
node*next;
};

<强>|系数 |函数 |电源 | f(x) | g(x) |下一步 |


输入表示示例:

3x^2((3x-3)/(4x-2)) + sin(4x-3)

系数*函数^幂(f(x)/g(x)) + 下一个


我尝试使用 RegEx,但在嵌套表达式时使用它并不容易,因为用户可能会抛出未知数量的函数。

我知道我必须以某种方式解析表达式,然后将所有内容拆分为一个 vector ,然后填充节点,但我只是无法编写该逻辑代码,因为我对 C++ 还很陌生。

我也尝试过使用 ExprTk,但我发现它很难理解,除了随附的自述文件外,我找不到任何在线教程。

如果有人能指导我正确的方向或向我展示一个很棒的教程。

最佳答案

我认为它可以用正则表达式,但你必须按正确的顺序排列它们。例如:

3x^2((3x-3)/(4x-2)) + sin(4x-3) -> 3x^2((3x-3)/(4x-2)) + sin(n1) -> 3x^2((3x-3)/n2) + sin(n1) -> 3x^2(n3/n2) + sin(n1) -> ...

等等正则表达式是这样的:

\d+\d -> 函数 = +

\d-\d -> 函数 = -

在每一步中,您都在内存中创建新节点并将其保留在字符串中,也作为“n%nodeNum”。

关于c++ - 使用链表 C++ 的导数计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43969010/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com