Désolé d'abuser à ce point de votre gentillesse mais je passe sur un autre exercice et pour le coup je n'ai même pas un but de code à vous proposer, je cale à 100%. Voici l'énoncé:
On souhaite implémenter une gestion (fortement simplifiée) des tableaux de classement lors d’un tournoi de foot. On se concentre à la phase dite des “matchs de poule”.
On ne regardera qu’un seul groupe avec quatre équipes participantes (#define N 4).
Les équipes de cette poule sont représentées par un tableau de chaînes de caractères intitulé équipes. On l’initialise avec les noms de quatre équipes au début du programme principal. Une équipe est ainsi associée à un numéro qui correspond à sa place dans le tableau équipes (0 à 3).
1. Ecrivez le code pour initialiser le tableau équipes avec les noms des quatre équipes de la même poule.
Aide : Utilisez le type string pour les noms des équipes qui sont des chaînes de caractère constantes.
Un deuxième tableau intitulé classement stockera le nombre de points. Il contiendra une case par équipe. Ce tableau sera mis à jour après chaque match. Le gagnant se placera en première position, le deuxième en deuxième position, etc. du tableau. On affichera ce tableau après chaque match, en associant les noms d’équipes à la bonne place dans le classement.
2. Ecrivez une fonction initialiser_classement qui initialise les points dans le classement à zéro.
3. Ecrivez une fonction afficher_classement qui prend en argument le tableau d’équipes et le tableau de classement et affiche, à un moment donné, le nom de l’équipe, sa position dans le classement et le nombre de points obtenus jusque-là.
L’affichage souhaité est donné ci-dessous.
4. Quel type d’algorithme sera nécessaire pour mettre en place la mise à jour du tableau ? Ecrivez une fonction mise_a_jour qui met à jour le tableau et insérez-la au bon endroit dans la fonction match.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 angleterre no. : 1 : 6 espagne no. : 2 : 4 france no. : 3 : 3 grece no. : 4 : 1
5. Ecrivez une fonction match qui attribue des points.
On modélise l’issue d’un match par les index des deux équipes (entre 0 et 3) et par un entier 0,1,2 indiquant s’il s’agit d’un match nul (égalité entre équipes) ou si la première ou la deuxième a gagné. Cet entier est tiré au hasard (utiliser la fonction de la bibliothèque CINI prévue à ce propos).
Un match gagné apportera 3 points, un match nul apportera un point, un match perdu aucun point. Ce nouveau score sera attribué aux deux équipes impliquées dans le match. Il faut prévoir l’affichage du score qui s’effectuera dans le programme principal. Il faut également mettre à jour le classement pour prendre en compte le nouveau score (appel de la fonction mise_a_jour).
6. Ecrivez le programme principal. Il faut faire de sorte que chaque équipe joue contre chaque autre équipe. L’affichage souhaité est le suivant :
7. On souhaite étendre la gestion à plusieurs groupes de poules (par exemple, quatre groupes intitulés A,B,C et D). Répondez aux questions suivantes, en donnant des bouts de code C :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Match angleterre contre espagne : 0 Match france contre espagne : 2 Match france contre angleterre : 0 Match grece contre espagne : 2 Match grece contre angleterre : 2 Match grece contre france : 1
– Comment en tenir compte ? Faut-il modifier la structure des boucles ?
– Comment faut-il modifier le tableau représentant le classement ?
– Comment faire (sans disposer de tableau ASCII) pour afficher une lettre majuscule représentant le groupe dans la fonction afficher_tableau ?
Donc des la première question je n'ai aucune idée de comment intégrer ma suite de caractère à un tableau. En me renseignant par si par là je suis tombé sur une fonction strcopy il me semble mais je ne suis pas censé l'utiliser je pense. comment implémenter que telle case d'un tableau (numéro d'équipe) représente telle chaîne de caractère ?
Et plus ou moins pareil pour le reste j'ai des bribes d'idées mais je n'arrive pas à les mettre en place j'ai l'impression qu'il me manque quelque chose.
Donc serait possible qu'une âme charitable me donne quelques conseils sur la marche à suivre ? ( je ne demande absolument pas que l'on écrive le code à ma place bien entendu mais que l'on me mette sur la bonne voie).
Merci d'avance,
Partager