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:

  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:

 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:

 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..

LIRE AUSSI :  Exercice langage C corrigé commande permettant de donner l'indice d'une variable dans une liste

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 *