Exercice langage C corrigé structures et fonctions

Exercice langage C corrigé structures et fonctions, tutoriel & guide de travaux pratiques en pdf.

Nous allons définir une structure Fraction, qui permettra de représenter des fractions:

1
2
3
4
5
struct Fraction
  {
    int numerateur;
    int denominateur;
  };

qui correspondra à la fraction numerateur/denominateur.

Nous voulons que les fractions soient toujours irréductibles, même après un calcul. Par exemple, le produit des fractions 4/25 et 15/2 devra donner la fraction 6/5 , et non pas la fraction 60/50.
Pour cela, on pourra utiliser la fonction pgcd:

1
2
3
4
5
6
7
8
9
10
11
12
int pgcd(int a, int b) {
     int m;
     if (a < b)
     m = a;
     else
     m = b;
 
     while ((a % m != 0) || (b % m != 0))
     m--;
 
     return m;
   }

Ainsi, la fonction init_frac s’écrit:

1
2
3
4
5
6
7
8
9
10
Fraction init_frac(int num, int den)
   {
     int div = pgcd(num, den);
     Fraction resultat;
 
     resultat.numerateur = num / div;
     resultat.denominateur = den / div;
 
     return resultat;
   }

Comme pour l’exercice sur les complexes, écrivez les fonctions afficher_fracadd_fracmult_fracmult_scal_frac, dont le but est, respectivement, d’afficher une fraction, d’additioner 2 fractions, de multiplier 2 fractions et de multiplier une fraction par un scalaire..

En utilisant la fonction init_frac, les fonctions add_fracmult_fracmult_scal_frac peuvent s’écrire très simplement, en une seule ligne.

La correction exercice langage C (voir page 2 en bas)

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

1

Besoin d'aide ?