Information

Author(s) Olivier Bonaventure
Deadline No deadline
Submission limit No limitation

Tags

Sign in

Pointeurs et structures


Pointeurs et structures

Dans un programme de manipulation de fractions, on définit la structure suivante pour représenter une fraction entière :

struct fract_t {
    int num;
    int denum;
};

On veut pouvoir facilement écrire une fonction de type void qui remplace la valeur stockée dans la fraction par le résultat de l'addition de la fraction et un nombre entier passé en fragment. La spécification de cette fonction pourrait être :

/*
* augmente la fraction passé en argument de l'entier n et place
* la somme calculée dans la fraction
* Exemples
*  Si f vaut 1/3, alors l'application de la fonction avec f et 2 comme
*  arguments a comme résultat de stocker la valeur 7/3 dans f
*  Si f vaut 2/1, alors l'application de la fonction avec f et 1 comme
*  arguments a comme résultat de stocker la valeur 3/1 dans f
*/

Laquelle des signatures ci-dessous peut-elle être utilisée pour effectuer cette opération et modifier la fraction passé en argument ?