-2
我想我不是調用函數或正確傳遞它。以下是我遇到的一些小問題。試圖在C++中計算GCD
使用測試數據,1/2和8/16將返回1/2而不是1/1。
這是我的代碼來計算GCD:
void Fractions::gcd(int n, int d)
{
int a,b,c;
a = n;
b = d;
while (a%b != 0)
{
c = a % b;
a = b;
b = c;
}
num = n/b;
denom = d/b;
}
這是計算從輸入數字相加,並計算出這些數字基於GCD代碼:
Fractions Fractions::operator+(Fractions& fraction2)
{
Fractions totalAddition;
totalAddition.num = (num * fraction2.denom + denom * fraction2.num);
totalAddition.denom = (denom * fraction2.denom);
totalAddition.gcd(num, denom); // i think issue is here
return totalAddition;
}
1/2是8/16的不可縮減形式。我不明白是什麼問題。 – StoryTeller