Ligne 24, à un moment donné x sera égale à nbmeilleurcote, soit la taille de ton tableau
du coup à la 29ème ligne tu accèdes à une case mémoire qui ne t'appartient pas (je ne comprends pas trop l'intérêt du tab[x] = tab[x])
et à la 27ème ligne aussi, tu fais tab[x+1], dans le cas où x est égale à la dernière case du tableau, tu rajoutes 1 => tu accèdes à une case qui ne t'appartient pas => segmentation fault
et tu as mis "x += 1", donc tu incrémentes à l'initialisation, et tu incrémentes au 3ème slot du for (x++), ça fait x+=2 à chaque itération si je dis pas de bétises
ligne 19, je sais pas si c'est autorisé, du moins conseillé de déclaré une variable au sein du boucle