Повернутися

struct ComFraction
{
   int numerator;   //чисельник
   int denominator;   //знаменник
};

struct MixedFraction
{
   int number;   //ціла частина
   int numerator;   //чисельник
   int denominator;   //знаменник
};

MixedFraction GetIntFraction(ComFraction d)
{
    MixedFraction mf;
    // Виділяємо цілу частину
    mf.number = d.numerator / d.denominator;
    // Залишок від ділення - новий чисельник
    mf.numerator = d.numerator % d.denominator;
    // Знаменник залишається без змін
    mf.denominator = d.denominator;
    // Скорочуємо дробову частину
    ComFraction frac;
    frac.numerator = mf.numerator;
    frac.denominator = mf.denominator;
    frac = ReduceFraction(frac);
    mf.numerator = frac.numerator;
    mf.denominator = frac.denominator;
    return mf;
}