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 : Sélectionner tout - Visualiser dans une fenêtre à part
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