typedef struct {
int num;
int den;
} t_fraction;
void add(t_fraction *f1, t_fraction *f2, t_fraction *res}
{
int div;
res->num=f1->num * f2->den + f2->num * f1->den;
res->den=f1->den * f2->den;
div=pgcd(res->num, res->den);
res->num/= div;
res->den/=div;
}
int pgcd(int num, int den)
{
int x, y, calc;
if (num > den)
{
x=num;
y=den;
}
else
{
x=den;
y=num;
} while (y != 0)
{
calc=x%y;
x=y;
y=calc;
}
return x;
}
int main()
{
t_frac a, b, res;
a.num=5;
a.den=2;
b.num=17;
b.res=5;
additionner(&a, &b, &res);
printf("res=%d/%d\n", res.num, res.den);
return 0;
} |