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;
}
On retourne le plus grand diviseur commun, au pire on auras 1 .


Simplification de fraction :

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;
        }
}
Ps : merci a Romuald Perrot pour son article Calcul du PGCD par la méthode d'Euclide