-6

分数を掛けたり、割ったり、足したり、引いたりするプログラムを書きました。それらを足したり引いたりする式がどうなるかわかりません。それはどうなりますか?

これまでの私のコード:

   Fraction subtractFractions(Fraction numDen, Fraction numDen2)
{
Fraction value;
value.numerator=numDen.numerator-numDen2.numerator;
if(numDen.denominator!=numDen2.denominator){
    value.denominator=numDen2.denominator/numDen.denominator;
    value.numerator*=value.denominator;
    value.denominator*=value.denominator;
    value.numerator=numDen.numerator-numDen2.numerator;
}
return value;
}

ご覧のとおり、関数内の関数です。加算関数と減算関数は同じコードなので、1つだけ投稿しました。

4

2 に答える 2

12

a/b を表すために、数値を int a, int b の形式で格納すると仮定します。追加するには、次のことを行う必要があります。

a1    a2   a1*b2+a2*b1
--  + -- = -----------
b1    b2      b1*b2

減算も同じように機能します。次のステップとして、分数を減らす方法を考える必要があります。

于 2012-06-26T00:45:38.037 に答える
3
a/b - c/d = (ad - bc) / bd

次に、それを最低条件に減らす必要があります(それを気にする場合)。

于 2012-06-26T00:46:07.010 に答える