Trier un tableau d'entier dans l'ordre Decroi

Philipe -  
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.
A voir également:

1 réponse

Brachior Messages postés 613 Date d'inscription   Statut Membre Dernière intervention   46
 
j'ai eut besoin de ce genre de chose pour les HighScore de mon MasterMind ^^
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 ^^
0
Philipe
 
Merci beaucoup déjà , pour ce début de repense . En fait j'ai pas précisé , mais mon programme est en java ... :s
0
Brachior Messages postés 613 Date d'inscription   Statut Membre Dernière intervention   46 > Philipe
 
ah M**** =/ lol
bon bah desolé ^^
0
Philipe > Brachior Messages postés 613 Date d'inscription   Statut Membre Dernière intervention  
 
voila ce que j'ai trouver sur le net :

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.
0
MisterNeo > Philipe
 
salut,

tu change ta methode "echanger(tableau, i, i+1)" par :

int tmp;

tmp = tableau[i] ;
tableau[i] = tableau[i + 1];
tableau[i + 1] = tmp ;
0
taboun
 
wa siro ta7waw ya zwamal
0