Mon prorgrame de tri par insertion ne termine pas
Résolu/Fermé
A voir également:
- Mon prorgrame de tri par insertion ne termine pas
- Mon prorgrame de tri par insertion ne termine pas ✓ - Forum - Java
- Tri par insertion langage c - Forum - C
- Trie a insertion recursive en java ✓ - Forum - Java
- Tri insertion d'une structure en C - Forum - C
- Tri par insertion c - Forum - Programmation
3 réponses
KX
26 juin 2015 à 21:38
- Messages postés
- 16585
- Date d'inscription
- samedi 31 mai 2008
- Statut
- Modérateur
- Dernière intervention
- 17 août 2022
26 juin 2015 à 21:38
Bonjour,
"mon prorgrame de tri par insertion ne termine pas"
C'est faux !
Il affiche "Trié par l'ordre de croissant position 5: 0" ce qui est la dernière instruction du programme, donc le fait que tu ais cet affichage prouve que le programme est terminé...
Pour le reste commence par te relire, ce que tu fais n'a pas de sens :
Tu entres une valeur tab[i] du tableau, que tu tries immédiatement avec les valeurs tab[j] qui n'existent pas encore vu que j > i et que tu n'as pas encore rentré ces valeurs là dans le tableau !
"mon prorgrame de tri par insertion ne termine pas"
C'est faux !
Il affiche "Trié par l'ordre de croissant position 5: 0" ce qui est la dernière instruction du programme, donc le fait que tu ais cet affichage prouve que le programme est terminé...
Pour le reste commence par te relire, ce que tu fais n'a pas de sens :
Tu entres une valeur tab[i] du tableau, que tu tries immédiatement avec les valeurs tab[j] qui n'existent pas encore vu que j > i et que tu n'as pas encore rentré ces valeurs là dans le tableau !
j'ai corrigé ce pb, merci beaucoup
Scanner sc = new Scanner(System.in);
System.out.print("**Entrez le nb d'éléments de 1er tableau:** ");
int n = sc.nextInt();
int tab[] = new int [n]; //utilisateur décide lui même nb d'élément à mettre
for ( int i=0; i<n; i++ )
{
System.out.print("Entrez l'élément n°"+(i+1)+"" +" du tableau: ");
tab [i] = sc.nextInt();
}
for ( int i = 0; i<tab.length; i++)
{
int maxi = i;
for ( int j = i+1; j<tab.length; j++ )
{
if ( tab[j] < tab[maxi] )
{
maxi = j;
}
int temp = tab[maxi];
tab[maxi] = tab[i];
tab[i] = temp;
}
System.out.println("Trié les éléments en ordre croissant "+(i+1)+": "+tab[i]);
}
}
}