procédure remplissage_concurrent(E/S v: vecteur d'entier, S N:entier) { variable i : entier Repeter { Afficher("Entrez le nombre de concurrents participant à la course :") Saisir(N) } jusqu'à ((N => 0) ET (N <=MAX)) Pour i de 0 à N - 1 { Afficher("Veuillez saisir le temps ",i+1,"ème concurrent :") Saisir(v[i]) } } procédure affichage(E vc: vecteur d'entier, E vr: vecteur d'entier, E taille:entier) { variable i : entier Pour i de 0 à taille - 1 { Afficher(i+1," : ",vc[i]," --- ",vr[i],"\n") } } procedure calcul_du_rang(E vc: vecteur d'entier, S vr: vecteur d'entier, E taille:entier) { variable i,j,n : entier Pour i de 0 à taille - 1 { n <-- 0 Pour j de 0 à taille - 1 { Si (vc[i]>vc[j]) alors { n <-- n+1 } } vr[i] = n+1 } } Algorithme Application { constante entier MAX <-- 200000 variable vconcurrents, vrang: vecteur de MAX entier taille: entier remplissage(vconcurrents,taille) calcul_du_rang(vconcurrents,vrang, taille) affichage(vconcurrents,vrang, taille) }