IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Tri par insertion


Sujet :

avec Java

  1. #21
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut
    mon code complet est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    import java.util.Scanner;
    public class Test3 
    {
    	public static void main(String[] args) 
    	{
    	    int tab[] = { 7, 4, 6, 8 };
    	    System.out.println("Origine les éléments tableau est : 7,4,6,8");
    	    for( int i=0; i<tab.length; i++ )
    	    {
    	      int posmaxi=i;
    	      for( int j=i+1; j<tab.length; j++ )
    	      {
    	        if( tab[j] < tab[posmaxi])
    	        {
    	             posmaxi = j;	
    	        }
    	        int temp = tab[posmaxi];
    	        tab[i]=tab[posmaxi];
    	        tab[posmaxi]= temp;
    	      }
    	     System.out.print( tab[i]+", ");
    	     }
    	   }
    	}
    merci pour vos aides.

  2. #22
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Bah les trois lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    int temp = tab[posmaxi];
    	        tab[i]=tab[posmaxi];
    	        tab[posmaxi]= temp;
    sont toujours dans le bloc du for, donc sont exécutées à chaque itération, alors que j'ai dit de les mettre après le for (pour qu'elles ne soient exécutées qu'une seule fois, après que toutes les itérations du for ne soient exécutées).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #23
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    import java.util.Scanner;
    public class Test3 
    {
    	public static void main(String[] args) 
    	{
    	    int tab[] = { 7, 4, 6, 8 };
    	    //System.out.println("Origine les éléments tableau est : 7,4,6,8");
    	    for( int i=0; i<tab.length; i++ )
    	    {
    	      int posmaxi=i;
    	      for( int j=i+1; j<tab.length; j++ )
    	      {
    	    	if( tab[j] < tab[posmaxi])
    	        {
    	             posmaxi = j;	
    	        }
    	       
    	      }
    	      int temp = tab[posmaxi];
    	      tab[i]=tab[posmaxi];
    	      tab[posmaxi]= temp;
    	     System.out.print( tab[i]+", ");
    	     }
    	   }
    	}
    output est:
    4,4,6,8

  4. #24
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Ah, oui, je n'avais pas vu que tu avais modifié les trois lignes en plus : pourquoi avoir modifié la deuxième ligne, en inversant les termes (forcément ça n'échange plus les 2 cases du tableau) ? Il ne fallait juste que les changer de place ! En plus, ton affichage affiche les positions intermédiaires et pas le résultat final.

    1. Reprend le code correct de la deuxième ligne
    2. affiche à la fin le tableau en entier, trié donc.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #25
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut
    ok ça marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    import java.util.Scanner;
    public class Test3 
    {
    	public static void main(String[] args) 
    	{
    	    int tab[] = { 7, 4, 6, 8 };
    		//int tab[] = { 5,2,8,4};
    	    //System.out.println("Origine les éléments tableau est : 7,4,6,8");
    	    for( int i=0; i<tab.length; i++ )
    	    {
    	      int posmaxi=i;
    	      for( int j=i+1; j<tab.length; j++ )
    	      {
    	    	if( tab[j] < tab[posmaxi])
    	        {
    	             posmaxi = j;	
    	        }
    	      }
    	       int temp = tab[posmaxi];
    	        tab[posmaxi]=tab[i];
    	        tab[i]= temp;
    	        System.out.print( tab[i]+", ");
    	     } 
    	   }
    	}
    j'ai encore quelque explication à vous demander sur ce prg ,attendez je vais le préparer et reviens.
    merci pour votre aides

  6. #26
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut
    Voilà ce que j'ai compris ce programme (si je raconte des bétises indiquez-le moi s'il vous plait)

    int tab[] = { 7, 4, 6, 8 };
    System.out.println("Origine les éléments tableau est : 7,4,6,8");

    for( int i=0; i<tab.length; i++ ) // i=0; 0< 3; i++
    {
    int posmaxi=i; // posmaxi = 0 position 0 la valeur est 7

    for( int j=i+1; j<tab.length; j++ ) // j=0+1; 1<3 ; j++
    {
    if( tab[j] < tab[posmaxi]) // tab[1] < tab[ posmaxi] ; 4 < 7
    {
    posmaxi = j; // posmaxi est 7
    }
    }

    for( int j=i+1; j<tab.length; j++ ) // 1+1; 2<3; j++
    {
    if( tab[j] < tab[posmaxi]) // j position 2 valeur est 6 ; 6 < 7
    {
    posmaxi = j; // posmaxi = 7
    }
    }

    for( int j=i+1; j<tab.length; j++ ) // 2+1; 3<3; j++
    {
    if( tab[j] < tab[posmaxi]) // j=8<7
    {
    posmaxi = j; // 8 est superieur 7, si mon raisonnement est bon, à partir de là, je confond
    }
    }

    int temp = tab[posmaxi];
    tab[posmaxi]=tab[i];
    tab[i]= temp;
    System.out.print( tab[i]+", ");


    Est-ce que mon raisonnement est bon ?

  7. #27
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par domxaline Voir le message
    for( int i=0; i<tab.length; i++ ) // i=0; 0< 3; i++
    Non ! la taille du tableau est 4, pas 3 !

    Citation Envoyé par domxaline Voir le message
    posmaxi = j; // posmaxi est 7
    Non ! j = 1, donc posmaxi = 1 !

    Citation Envoyé par domxaline Voir le message
    if( tab[j] < tab[posmaxi]) // j position 2 valeur est 6 ; 6 < 7
    On compare tab[2] à tab[posmaxi], donc 6 et 4...

    Au lieu de chercher à dérouler le programme à la main ou de tête, ajoute des traces à ton code, ou exécute en debug, tu verras directement ce que ça fait.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  8. #28
    Expert éminent sénior
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2012
    Messages
    3 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3 020
    Points : 16 092
    Points
    16 092
    Par défaut
    Hello,

    Je suis on ne peut plus d'accord avec Joel, tu sembles avoir du mal à saisir comment marchent les tableaux. Tu as à priori, lu la doc, donc maintenant, essayes de passer en débug dans ton programme. Si tu utilises un IDE comme Eclipse ou IntelliJ, c'est super simple. Et cela te permettrait de voir ce que vaut chaque variable à chaque ligne exécutée.

    Autre remarque :

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int tab[] = { 7, 4, 6, 8 };
    System.out.println("Origine les éléments tableau est : 7,4,6,8");

    Pourquoi est-ce que tu affiches des valeurs en dur dans ton print? C'est le meilleur moyen de ne plus rien comprendre lorsque tu changera ton tableau. Autant afficher le tableau directement :

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.out.println("Origine les éléments tableau est : " + Arrays.deepToString(tab));

    Au moins tu es sur d'afficher le tableau.

    Et tu devrais vraiment essayer de passer en debug, parce que tu te poses beaucoup de questions dont tu aurais les réponses en débugant.

  9. #29
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut
    for( int i=0; i<tab.length; i++ ) // i=0; 0< 3; i++
    Non ! la taille du tableau est 4, pas 3 !
    int tab[] = { 7, 4, 6, 8 };
    tableau commence pas par 0?
    position 0 valeur est 7
    position 1 valeur est 4
    position 2 valeur est 6
    position 3 valeur est 8

  10. #30
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par domxaline Voir le message
    int tab[] = { 7, 4, 6, 8 };
    tableau commence pas par 0?
    position 0 valeur est 7
    position 1 valeur est 4
    position 2 valeur est 6
    position 3 valeur est 8
    Oui, les indices vont de 0 à 3, ce qui fait bien 4 valeurs. La taille c'est 4. C'est pour ça qu'on utilise un < dans for(int i=0; i<tab.length; i++) : ainsi, si tab.length vaut 4, i vaut bien successivement 0, 1, 2, puis 3.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  11. #31
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut
    tu sembles avoir du mal à saisir comment marchent les tableaux.
    oui vous avez raison, ce pour ça que je vous demande vos aides.
    explication par une personne est 100 mieux qu'à lire un cours, n'est ce pas?
    excusez moi pour ce dérangement

  12. #32
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut
    Oui, les indices vont de 0 à 3, ce qui fait bien 4 valeurs. La taille c'est 4. C'est pour ça qu'on utilise un < dans for(int i=0; i<tab.length; i++) : ainsi, si tab.length vaut 4, i vaut bien successivement 0, 1, 2, puis 3.
    ok je comprend

  13. #33
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Représente-toi un tableau graphiquement !

    Voici un tableau de 4 cases.

    Indices
    0
    1
    2
    3
    Valeurs
    12
    42
    2
    28

    Les indices vont dont de 0 à 3 (indiqués au-dessus des cases). Les valeurs sont dans les cases.

    Ainsi tab[0] contient 12. System.out.println( tab[0] ) affiche 12. Les valeurs dans les cases peuvent être modifiées. Les indices eux sont les indices et ne changent pas évidemment.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  14. #34
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut
    voilà correction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    int tab[] = { 7, 4, 6, 8 };
    System.out.println("Origine les éléments tableau est : 7,4,6,8");
    
    for( int i=0; i<tab.length; i++ ) // i=0; 0< 4; i++
    {
    int posmaxi=i; // posmaxi = 0 position 0 la valeur est 7
    
    for( int j=i+1; j<tab.length; j++ ) // j=0+1; 1<4 ; j++
    {
    if( tab[j] < tab[posmaxi]) // tab[1] < tab[ posmaxi] ; 4 < 7
    {
    posmaxi = j; // posmaxi est 4
    }
    }
    
    for( int j=i+1; j<tab.length; j++ ) // 1+1; 2<4; j++
    {
    if( tab[j] < tab[posmaxi]) // j position 2 valeur est 6 ; 6 < 7
    {
    posmaxi = j; // posmaxi = 6
    }
    }
    
    for( int j=i+1; j<tab.length; j++ ) // 2+1; 3<4; j++
    {
    if( tab[j] < tab[posmaxi]) // j=8<7
    {
    posmaxi = j; // 8 est superieur 7, si mon raisonnement est bon, à partir de là, je confond
                     // posmaxi est 8 ? et il decend vers int temp= tab[posmaxi]; n'est ce pas?
    }
    }
    
    int temp = tab[posmaxi];
    tab[posmaxi]=tab[i];
    tab[i]= temp;
    System.out.print( tab[i]+", ");

  15. #35
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par domxaline Voir le message
    posmaxi = j; // posmaxi est 4
    Je t'ai déjà dit que non ! 4 c'est la valeur dans tab[posmaxi] : posmaxi c'est 1 (parce que j contient 1).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  16. #36
    Expert éminent sénior
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2012
    Messages
    3 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3 020
    Points : 16 092
    Points
    16 092
    Par défaut
    Tu tournes en rond.

    Pourquoi est-ce que tu ne passes pas dans ton programme en debug au pas à pas pour comprendre ce qu'il fait ligne par ligne et là où tu te trompes?

    Si tu ne sais pas comment faire : http://aldian.developpez.com/cours/l...n-java-javaee/ pour eclipse par exemple.

  17. #37
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Mais elle sait se servir d'un "debuggueur"... La preuve sur les forums ici même (comprendra qui pourra)
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  18. #38
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    int tab[] = { 7, 4, 6, 8 };
    for( int i=0; i<tab.length; i++ ) // i=0; 0< 4; i++
    {
    int posmaxi=i; // posmaxi = 0 position 
    
    for( int j=i+1; j<tab.length; j++ ) // j=0+1; 1<4 ; j++
    {
    if( tab[j] < tab[posmaxi]) // tab[1] < tab[0] ; 
    {
    posmaxi = j; // posmaxi est 1
    }
    }
    
    for( int j=i+1; j<tab.length; j++ ) // 1+1; 2<4; j++
    {
    if( tab[j] < tab[posmaxi]) // tab[2]<tab[1] ; 6<4
    {
    posmaxi = j; // posmaxi = 1
    }
    }
    
    for( int j=i+1; j<tab.length; j++ ) // 2+1; 3<4; j++
    {
    if( tab[j] < tab[posmaxi]) // tab[3] < tab[1]
    {
    posmaxi = j; // 1
    }
    }
    
    int temp = tab[posmaxi]; // temp =1
    tab[posmaxi]=tab[i]; // tab[posmaxi] = 0
    tab[i]= temp; // tab[i] = 1 value est 4
    
    System.out.print( tab[i]+", "); // 4

  19. #39
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut
    or j'ai compris que comment fonctionne ce prg
    merci pour vos aide
    particulièrement mr joel

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. besoin d'aide pour le tri par insertion.
    Par argon dans le forum Algorithmes et structures de données
    Réponses: 19
    Dernier message: 18/05/2006, 11h15
  2. tri par insertion et Structures
    Par bonjour69 dans le forum C
    Réponses: 2
    Dernier message: 23/12/2005, 12h46
  3. [LG] Le tri par insertion d'un enregistrement
    Par phoebee dans le forum Langage
    Réponses: 4
    Dernier message: 01/09/2005, 20h38
  4. [LG]Tri par insertion dans une liste chainée
    Par mister_dsg dans le forum Langage
    Réponses: 4
    Dernier message: 18/12/2003, 22h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo