Problème avec le tri par insertion pour un tableau
tigroudu13
Messages postés8Date d'inscriptionlundi 24 septembre 2007StatutMembreDernière intervention 5 juin 2011
-
31 oct. 2009 à 10:44
solo9saad
Messages postés9Date d'inscriptiondimanche 17 mai 2009StatutMembreDernière intervention 6 décembre 2009
-
9 nov. 2009 à 13:05
Bonjour,
J'ai un petit problème pour créer et faire marcher mon programme JAVA pour un triage par insertion. Je dois le faire avec une interface graphique d'où mon problème car j'arrive à lui faire récupérer les chiffres mais pas à les renvoyer après le tri.
Mon code est le suivant:
public class Tableau extends javax.swing.JFrame {
/** Creates new form Tableau */
public Tableau() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jTextField1 = new javax.swing.JTextField();
jTextField2 = new javax.swing.JTextField();
jTextField3 = new javax.swing.JTextField();
jTextField4 = new javax.swing.JTextField();
jTextField5 = new javax.swing.JTextField();
jTextField6 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jTextField7 = new javax.swing.JTextField();
jTextField8 = new javax.swing.JTextField();
jTextField9 = new javax.swing.JTextField();
jTextField10 = new javax.swing.JTextField();
jTextField11 = new javax.swing.JTextField();
jTextField12 = new javax.swing.JTextField();
jLabel1 = new javax.swing.JLabel();
//Création des variables
int []Table=new int[6];
int compteur=0;
//Récupération des données
Table[0]=Integer.parseInt(jTextField1.getText());
Table[1]=Integer.parseInt(jTextField2.getText());
Table[2]=Integer.parseInt(jTextField3.getText());
Table[3]=Integer.parseInt(jTextField4.getText());
Table[4]=Integer.parseInt(jTextField5.getText());
Table[5]=Integer.parseInt(jTextField6.getText());
//Triage du tableau
do{
compteur=0;
for(int i=1;i<=Table.length;i++)
do {
if(Table[i]<Table[i-1]){
int aux = Table[1];
Table[i]=Table[i-1];
Table[i-1]=aux;
compteur=compteur+1;
}
} while (Table[i]<Table[i-1]);
}while (compteur!=0);
//Renvoie des données
jTextField7.setText(Integer.toHexString(Table[0]));
jTextField8.setText(Integer.toHexString(Table[1]));
jTextField9.setText(Integer.toHexString(Table[2]));
jTextField10.setText(Integer.toHexString(Table[3]));
jTextField11.setText(Integer.toHexString(Table[4]));
jTextField12.setText(Integer.toHexString(Table[5]));
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Tableau().setVisible(true);
}
});
}
solo9saad
Messages postés9Date d'inscriptiondimanche 17 mai 2009StatutMembreDernière intervention 6 décembre 2009 9 nov. 2009 à 13:05
salut tous le monde
vous avez une faute dans : la partie de triage du tableau :
for(int i=1;i<=Table.length;i++){
do {
if(Table[i]<Table[i-1]){
int aux = Table[1];
int aux=Table[i];
//fait l'execution .
Table[i]=Table[i-1];
Table[i-1]=aux;
compteur=compteur+1;
}
} while (Table[i]<Table[i-1]);
}while (compteur!=0);
}