Trier un tableau d'entier dans l'ordre Decroi

Fermé
Philipe - 2 juin 2008 à 21:29
xamurai Messages postés 223 Date d'inscription mardi 11 janvier 2011 Statut Membre Dernière intervention 19 février 2013 - 22 janv. 2011 à 23:16
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.

1 réponse

Brachior Messages postés 613 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 22 juin 2009 46
2 juin 2008 à 21:50
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
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 dimanche 21 octobre 2007 Statut Membre Dernière intervention 22 juin 2009 46 > Philipe
2 juin 2008 à 22:03
ah M**** =/ lol
bon bah desolé ^^
0
Philipe > Brachior Messages postés 613 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 22 juin 2009
2 juin 2008 à 22:15
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
27 oct. 2008 à 11:31
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
wa siro ta7waw ya zwamal
0