Trier un tableau d'entier dans l'ordre Decroi
Philipe
-
xamurai Messages postés 223 Date d'inscription Statut Membre Dernière intervention -
xamurai Messages postés 223 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je viens vous exposé mon problème , que j'ai rencontré au cours de mon projet (Monopoly).
En effet , à un moment j'ai besoin de ranger les joueur dans un tableau de "Joueur" , mais dans l'ordre décroissant,qui sera déterminé par le lancé de Dés de chacun des joueurs.
Donc au début , j'ai un tableau de joueur,ensuite je le parcours, et je fais lancer le dés à chaque joueur du tableau,ensuite selon le résultat du lancé , le joueur est placé à un indice donné.S'il obtient 6 par exemple, il sera le premier dans le tableau( à indice 0) ...
Mais je ne sais pas comment ranger les joueurs, en comparant leur résultats.
Merci.
je viens vous exposé mon problème , que j'ai rencontré au cours de mon projet (Monopoly).
En effet , à un moment j'ai besoin de ranger les joueur dans un tableau de "Joueur" , mais dans l'ordre décroissant,qui sera déterminé par le lancé de Dés de chacun des joueurs.
Donc au début , j'ai un tableau de joueur,ensuite je le parcours, et je fais lancer le dés à chaque joueur du tableau,ensuite selon le résultat du lancé , le joueur est placé à un indice donné.S'il obtient 6 par exemple, il sera le premier dans le tableau( à indice 0) ...
Mais je ne sais pas comment ranger les joueurs, en comparant leur résultats.
Merci.
A voir également:
- Trier un tableau d'entier dans l'ordre Decroi
- Excel trier par ordre croissant chiffre - Guide
- Tableau word - Guide
- Tableau ascii - Guide
- Imprimer un tableau excel - Guide
- Tableau croisé dynamique - Guide
1 réponse
j'ai eut besoin de ce genre de chose pour les HighScore de mon MasterMind ^^
tiens voila ma fonction trier ^^
je te laisse le copier et le modifier a ta sauce lol xD ^^
si t'as des questions n'hesites pas ^^
tiens voila ma fonction trier ^^
int IndiceMin(int Score[],int i){ int j,k; j=i; for(k=i+1;k<11;k++){ if(Score[k]<Score[j]){ j=k;}} return j;} void Trier(int Score[],char Pseudo[][500]){ int i; for(i=0;i<11;i++){ int j,temp; char tmp[5000]; /* Pourquoi 5000 ? .. Je ne sais pas Oo */ j=IndiceMin(Score,i); temp=Score[j]; Score[j]=Score[i]; Score[i]=temp; strcpy(tmp, Pseudo[j]); strcpy(Pseudo[j], Pseudo[i]); strcpy(Pseudo[i], tmp);}}apres j'ai affiché le tableau en partant du bas ^^
je te laisse le copier et le modifier a ta sauce lol xD ^^
si t'as des questions n'hesites pas ^^
bon bah desolé ^^
public static void triBulle(int tableau[])
{
int longueur=tableau.length;
boolean inversion;
do
{
inversion=false;
for(int i=0;i<longueur-1;i++)
{
if(tableau[i]>tableau[i+1])
{
echanger(tableau,i,i+1);
inversion=true;
}
}
}
while(inversion);
}
mais la méthode "échanger" me dérange , je sais pas par quoi je pourrais la remplacer.
tu change ta methode "echanger(tableau, i, i+1)" par :
int tmp;
tmp = tableau[i] ;
tableau[i] = tableau[i + 1];
tableau[i + 1] = tmp ;