gpt4 book ai didi

c++ - 添加分数

转载 作者:行者123 更新时间:2023-11-30 04:06:04 26 4
gpt4 key购买 nike

我正在制作一种方法来添加任何类型的两个分数,即整数、根等。这就是我目前所拥有的。如果两个分数的分子和分母都是整数,那就好办了。但如果它是根数或任何其他复数,我必须更改我的代码。所以我的问题是如何检查参数(分数的分子和分母)是整数还是根或 pi 等?数字类是父类(super class),分数类是子类。

string Fraction::add(Number n)
{
Number newNumerator1 = n.denominator * numerator;
Number newNumerator2 = denominator * n.numerator;
Number newNum = newNumerator1 + newNumerator2;
Number newDenominator = denominator * n.denominator;

ostringstream a;
a << newNum << "/" << newDenominator << endl;
cout << a.str();
return a.str();
}

最佳答案

假设您想要以符号方式执行此操作(从而保留任何部首或其他符号),您需要重新编写代码以使其更像 Mathematica 或 Maple,它们将在纯符号级别上处理分数。分子和分母不能是简单的数据类型,例如 intdouble。相反,您可能必须设计一个允许您定义复数的自定义模板,例如下面的分子和分母:

(4 + √5i) ÷ (√3 - 3^√4)

这是一个实现起来非常复杂的系统,可能远远超出您希望完成的范围。如果您只是想评估传递的分数的加法,则强制参数为简单分数,或为不同的参数创建重载函数。

关于c++ - 添加分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23038885/

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