A.1 Calcul du score d'un match de tennis
On cherche dans ce problème à calculer le score d'un match de
tennis entre deux joueurs A et B à partir d'un fichier
d'entrées.
Un match de tennis est une suite de sets, un
set est un suite de jeux et un jeu est une suite de
points. Le nombre de points (resp. de jeu, de set) gagnés
par chaque joueur est accumulé depuis 0 dans un jeu (resp. un
set, un match).
Un point est gagné par un seul des joueurs suivant un ensemble de
règles hors du propos de cet exercice. Un jeu est gagné par le
premier joueur qui accumule au moins 4 points et mène par au
moins 2 points d'écarts. Un set est gagné par le premier joueur
qui accumule au moins 6 jeux et mène par au moins 2 jeux. Un
match est gagné par le premier joueur qui accumule au moins 2 sets.
Le score est donné par le nombre de jeux que chaque joueur a gagné
dans chaque set.
Format des entrées :
les entrées sont contenues dans un fichiers. Ce fichier est
constitué par une suite de caractères qui sont soit 0 soit 1.
Ces caractères décrivent le vainqueur de chaque point.
Le nième point est gagné par le joueur A si le nième
caractères du fichier est un 0. Si ce caractère est un 1
alors, le joueur B a gagné le nième point.
Format des sorties :
le résultat doit être sauvegardé dans un fichier dont
l'utilisateur indiquera le nom. Si le fichier d'entrée comporte
suffisamment de points pour déterminer le vainqueur, le fichier de
sortie doit indiquer le score final et qui est le vainqueur. Dans le
cas contraire, le fichier de sortie doit indiquer le score du dernier
set en cours et indiquer que le match est en cours.
Exemple de fichier d'entrées :
000111010001000100100010100010001101000000010000011101111101111111001001010
111110101101100010111111010110000010000000110000000100101101011011001000101111111
Exemples de fichier de sortie :
Score du 1 set: A-6 B-0
Score du 2 set: A-3 B-6
Score du 3 set: A-6 B-2
Match termine, A est vainqueur.
Score partiel. Dernier set: A-1 B-3
Match incomplet.
Écrivez un programme en C qui réponde à toutes les contraintes
ci-dessus.
Pour tout commentaire : Alexandre Sedoglavic.