On retourne le plus grand diviseur commun, au pire on auras 1 .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 int PGCD(int a, int b){ while(b!=0){ int c=a%b; a=b; b=c; } return a; }
Simplification de fraction :
Ps : merci a Romuald Perrot pour son article Calcul du PGCD par la méthode d'Euclide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 void Fraction::simplification(){ int r; r=PGCD(numerateur,denominateur); numerateur=numerateur/r; denominateur=denominateur/r; //pas de - au dénominateur if(denominateur<0){ numerateur=-numerateur; denominateur=-denominateur; } }
Partager