Les Allergies
Alimentaires
Posez votre question Signaler

[JAVA] Tri de Tableau [Résolu]

ramune 10Messages postés 9 janvier 2008Date d'inscription - Dernière réponse le 20 nov. 2010 à 12:29
Bonsoir tout le monde
j'aimerais savoir pourquoi mon programme ne marche pas ???
public class TriNombre {
double[] tab={35, 6, 2, 66, 100, 36, 11, 1, 6, 14};
public void Tri(double [] tab) {
double max;
double aux=0;
for(int i=0;i<8;i++){
for(int j=1;j<9;j++){
if (tab[i]>tab[j]){
tab[i]=aux;
tab[i]=tab[j];
tab[j]=aux;
}
}
}
}
public void affiche() {
for (int i=0;i<9;i++)
System.out.println(tab[i]);
}
}
en gros mon idee est de comparer UNE valeure ( la valeure max) a toutes les autres jusqu'a quelle soit a la bonne place tout au bout du tableau (c'est un tri a bulle je crois)
c'est pas le meilleur algo pour ranger un tableau mais je ne veux pas me prendre la tete avec un algo plus compliqué (genre le quick sort >_< )
Merci beaucoup
Lire la suite 

[JAVA] Tri de Tableau »

3 réponses
Réponse
+0
moins plus
Je pense qu'en modifiant ici il y a des chances que ça fonctionne mieux ;) :
tab[i]=aux;
tab[i]=tab[j];
tab[j]=aux; 


Transformé en :
<code>aux=tab[i];
// --- Sauvegarde de tab[i] dans aux et non l'inverse
tab[i]=tab[j];
tab[j]=aux;
</code>

Si après ça ça ne fonctionne toujours pas c'est que ton algo est mauvais et qu'il faut penser à en faire un autre.
Ajouter un commentaire
Réponse
+0
moins plus
je pense q'il y a une erreur au niveau de la permutation des cases !
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

À essayer:
for(int i=0;i<10;i++){ 
          
            for(int j=0;j<10;j++){  
             
               if (tab[i]<tab[j]){  
                   
                  aux=tab[i]; 
                  tab[i]=tab[j];  
                  tab[j]=aux; 
                  affiche(); // pour suivre le déroulement 
               } 
            }  
            System.out.println(""); 
         }


Remarque:

À toutes fins utiles, on peut très facilement trier ce genre de tableau (données comparables) en utilisant sort de la classe Arrays:

Arrays.sort(tab); //import java.util.Arrays; 
         affiche();


Cordialement,

Dan
Ajouter un commentaire
Ce document intitulé « [JAVA] Tri de Tableau » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?