Algorithme vainqueur compétition
Bonsoir , je bloque sur un algorithme je dois calculer le vainqueur de la compétition aux deux épreuves.
— chaque joueur est numéroté de 1 à n
— le résultat d’une épreuve est un tableau de taille n, permutation de l’intervalle [1, n]. Il représente
le classement à l’épreuve : le vainqueur est à l’indice 0, le second à l’indice 1, ...
— le score obtenu par un joueur à une épreuve est son indice dans le tableau résultat. Le score final
d’un joueur est la somme de ses scores aux deux épreuves.
— un joueur j1 est classé avant un joueur j2 si son score final est inférieur à celui de j2, ou bien si
les deux scores sont égaux et j1 est mieux classé que j2 à l’épreuve 1.
Par exemple si et sont les résultats aux deux
épreuves, le score final du joueur 1 est 4+5=9. Le meilleur score est obtenu par les joueurs 4, 5 et 7. Ils ont tous trois le score 4. Le vainqueur est le joueur 5 car il est le mieux classé des trois joueurs à la première épreuve.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| int joueur(int *T1,int n,int *T2){
int vainqueur=0;
int vainqueur2=0;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(T1[i]==T2[j]) {
vainqueur = vainqueur2;
vainqueur2 = (i+j);}
if(vainqueur2 <= vainqueur){
vainqueur = vainqueur2;}
}
}
return vainqueur;} |
J'ai commencé a faire ça sauf que sa me renvoie 5 au lieu de 4 ( et je ne sais pas comment je pourrais renvoyer le joueur le mieux classé) si quelqu'un pourrait m'aider s'il vous plait merci d'avance