Aide tri par selection java's cool

Aide tri par selection java's cool - Java - Programmation

Marsh Posté le 23-11-2013 à 11:23:34    

Bonjour à tous,  
 
Je suis en terminale en option Informatique et Science du Numérique (ISN) et j'ai un exercice de programmation à faire mais je suis bloquée.  
Il faut réaliser un programme sous java's cool qui ordonne les données du tableau suivant en utilisant la méthode du tri par sélection.
Données: {101,115,30,63,47,20}.
 
J'ai compris le principe d'échange... Il faut trouvé le minimum avant de faire l'échange... D'ailleurs avant tout j'ai essayer de faire un programme pour trouver le minimun d'une liste mais il marche pas:
void main(){
int[]tab;
tab=new int[5];
tab[0]=1;
tab[1]=2;
tab[2]=3;
tab[3]=4;
tab[4]=5;
int var;
int indice;
var=tab[0];
indice=1;
for(int i=2; i<=5; i++){
 if(tab[i]< var)var=tab[i];
  indice=i;
       }
println("+var+" );
println("+indice+" );
}
Pouvez vous me dire ou est mon erreur svp ?  
 
Je reviens à l'autre programme pour classer cette liste {101,115,30,63,47,20}
Voilà ce que j'ai fait:  
 
// Entrée
int[]tab;
tab=new int[6];
tab[0]=101;
tab[1]=115;
tab[2]=30;
tab[3]=63;
tab[4]=47;
tab[5]=20;
 
Après l'initialisation je ne sais pas par ou commencer..
 
Pouvez vous m'aider svp ?  
Merci d'avance !  :)

Reply

Marsh Posté le 23-11-2013 à 11:23:34   

Reply

Marsh Posté le 23-11-2013 à 13:23:59    

Vous pouvez trouver des informations sur les différents algorithmes de tri : https://fr.wikipedia.org/wiki/Algorithme_de_tri et plus spécifiquement le tri par sélection avec le pseudo code : https://fr.wikipedia.org/wiki/Tri_par_s%C3%A9lection.

Reply

Marsh Posté le 23-11-2013 à 15:45:32    

Sinon je suppose que ton erreur est la (en gras):

ticettac5 a écrit :


 
void main(){
int[]tab;
tab=new int[5];
tab[0]=1;
tab[1]=2;
tab[2]=3;
tab[3]=4;
tab[4]=5;
int var;
int indice;
var=tab[0];
indice=1;
for(int i=2; i<=5; i++){
 if(tab[i]< var) { var=tab[i];
  indice=i; }
       }
println("+var+" );
println("+indice+" );
}


Sans  ca, ton "if" ne s'applique que pour var=tab[i] et pas pour indice=i. Du coup var finit bien avec la minimum mais indice ne correspond pas (sauf si ton minimum est a la fin de ta liste mais bon voila quoi).
 
Pour les tris en eux-meme, vois les liens de Honriss.
 
A+


---------------
C'était vraiment très intéressant.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed