Bonjour a tous, j'aurais besoin d'un petit coup de pouce sur un pti morceau de prog.
voila enfet j'effectue un tri dans un tableau du type d'un tri a bulle, mais je n'arrive pas a bien voir si sa le fait bien du fait que je vois des données qui sont affiché passer au dessus hors qu'elle devrait etre en dessous de la plus petite.
Donc j'explique au fur et a mesure mon code :
float StockTemps,MeilleurTemps[12];
int NbrTourV[12],NbrT;
for(int i=0;i<12;i++)
{
NbrTourV[i]=test.Get_NbreTour(i+1);
MeilleurTemps[i]=test.Get_Time(i+1);
}
Donc ici je créer 2 tableau de dimension 12. Dans une boucle for je fais chercher le nombre de tour qu'il y a dans une autre classe ainsi que le meilleur temps.
Donc les tableau se remplissent des valeurs renvoyées. Sa no problemo sa fonctionne lol.
for( i = 0; i <12; i++)
{
for(int j=1+i;j<12;j++)
{
if((NbrTourV[j] >= NbrTourV[i])) //si le nombre de tours d'une voiture est supérieur à celui qui le précéde
{
if(MeilleurTemps[j]>MeilleurTemps[i])//si le tps d'une voiture est supérieur a une autre
{
StockTemps = MeilleurTemps[j];
MeilleurTemps[j] = MeilleurTemps[i];
MeilleurTemps[i] = StockTemps;
NbrT = NbrTourV[i];
NbrTourV[i] = NbrTourV[j];
NbrTourV[j] = NbrT;
}
else//si le tps d'une voiture est inférieur
{
StockTemps = MeilleurTemps[i];
MeilleurTemps[i] = MeilleurTemps[j];
MeilleurTemps[j] = StockTemps;
NbrT = NbrTourV[i];
NbrTourV[i] = NbrTourV[j];
NbrTourV[j] = NbrT;
}
}
}
}
Donc ici j'essaye de faire un tri. En gros si le nombre de tour est supérieur a celui d'apres on va tester si le temps est inférieur ou supérieur et donc monter ou descendre la position. C'est enfet pour pouvoir faire le classement de voiture. Donc si le nombre de tour supérieur a une autre et que le temps est plus petit qu'une autre on monte les données. sinon on les descends ou on les laisses.
Voila j'espere que vous allez comprendre ce que je veut faire. Et je vous remercie d'avance !!