有理数の演算についてなんですが。。
#include <stdio.h>
typedef struct{
int bunshi;
int bunbo;
}rat;
rat rat_num(int x,int y){
rat r;
r.bunshi=x;
r.bunbo=y;
return(r);
}
void rat_print(rat x){
printf("%d/%d,"x.bunshi,x.bunbo);
}
int gcd(int n, int m) {
int res;
res = n % m;
if (res == 0)
return m;
return gcd(m, res);
}
rat rat_normalize(rat x){//ここです**
}
rat rat_plus(rat x, rat y){
//足し算 }
int main()
{
rat x={1,3};
rat y={3,4};
rat z;
z=rat_plus(x,y);
printf("1/3+3/4= ");rat_print(z);printf("\n");
}
分数の足し算のプログラムをつくりたくてだいたいのそと枠はできたのですが int gcd(int n, int m)のところではnとmの最大公約数を求めるものでたぶんここはできていると思うのですが、rat rat_normalize(rat x)のところでxを約分して返す。(x.bunshiとx.bunboをそれらの最大公約数で割る)っていうことをしたいんですけど、構造体を勉強しはじめたばかりでどのように書いたらよいかわかりません。教えてください。
rat rat_plus(rat x, rat y){
//足し算 }のところはそこがわかればできそうなので大丈夫です!!
お願いします><