Examen II

Examen II

by Rachel Tranchida -
Number of replies: 6

Bonjour,

Je n'ai pas bien compris, lors de l'examen II de programmation à l'exercice 1, l'appel de la fonction print_stats qui généralise la première fonction print_stats à une chaîne de caractère. Dans le main(), on a l'appel print_stats(get_strings(), "aceilmnoptuy").

Je ne comprends pas ce que signifie le get_strings() en argument. En conséquence, je n'ai pas compris comment prototyper la fonction et d'où venait la chaîne de caractère que l'on doit utiliser dans la fonction (dans l'appel).


Meilleures salutations.

In reply to Rachel Tranchida

Re: Examen II

by Yassin Kammoun -

Bonjour,

Le fait que le nom de la méthode soit au pluriel indique qu'elle retourne plus d'une chose à la fois. En conséquence, tu peux partir du principe qu'elle retourne un objet de type vector<string>.

In reply to Yassin Kammoun

Re: Examen II

by Rachel Tranchida -

Comment savoir de manière générale présentée à une situation de ce genre ce que peut bien retourner une fonction dont le prototype de nous est pas donné ? Doit-on choisir ? Et dans ce cas, je ne comprends pas comment considérer ce vector carbon a besoin d'un vector spécifique avec nos modifications, et on ne sait pas ce qu'il contient ?

In reply to Rachel Tranchida

Re: Examen II

by Yassin Kammoun -

Ce doit être la fatigue de fin de semestre, mais je ne retrouve pas l'énoncé de l'examen dont il est question...

Pourrais-tu s'il te plaît mettre à disposition cet examen dans la discussion. Avec la donnée, je serai en mesure de te répondre plus précisément.

Merci.

In reply to Yassin Kammoun

Re: Examen II

by Rachel Tranchida -
In reply to Rachel Tranchida

Re: Examen II

by Yassin Kammoun -

Effectivement, le prototype ne vous est pas fourni. En conséquence, avec la ligne print_stats(get_strings(), "aceilmnoptuy");, il n'est pas possible tel quel de savoir ce que retourne get_strings(). Ceci étant, il vous est demandé plus loin à la question 1.4 d'implémenter la fonction print_stats().

En lisant l'énoncé de la question 1.4, vous devez réfléchir au prototype de la fonction print_stats(). Une fois que vous avez déterminé ce prototype, il est vous possible de savoir ce que get_strings() retourne vu que sa valeur de retour est ensuite utilisée en guise d'argument lors de l'appel à print_stats().

Si on regarde de plus près l'énoncé, il y a deux versions de print_stats() qui sont demandées: 1) la première prend en paramètre un caractère et un tableau de chaînes de caractères; 2) la seconde généralise la première en prenant chaque caractère d'une chaîne de caractères puis appelle la première avec ce caractère et le tableau ce qui revient aux deux prototypes suivants:

  • void print_stats(vector<string> v, char c);
  • void print_stats(vector<string> v, string s);

En définitive, dans ce genre de situation, il est bon de lire la totalité de l'exercice car des informations complémentaires sont souvent fournies plus loin lorsque celles-ci sont nécessaires. Ce fut le cas pour cette question. Néanmoins, tu peux toujours poser la question à un assistant durant l'examen si quelque chose n'est pas claire.

In reply to Yassin Kammoun

Re: Examen II

by Rachel Tranchida -

J'avais justement relu la donnée et vu cet élément, mais je ne comprenais justement pas le lien et ne voyais que cela représentait le tableau, car justement il n'y avait aucune indication sur la fonction get_strings. Merci beaucoup pour votre réponse, bonne soirée