Tri à bulles - Problème
Fermé
Les Galériennes de l'Info
-
Modifié par jipicy le 21/05/2016 à 15:24
Les Galériennes de l'Info - 21 mai 2016 à 15:10
Les Galériennes de l'Info - 21 mai 2016 à 15:10
A voir également:
- Tri à bulles - Problème
- Tri excel - Guide
- Logiciel de tri de photos - Guide
- Moi je fais des petites bulles - Forum Graphisme
- Comment faire des montage avec des bulles? - Forum Graphisme
- Excel trier de a à z ne fonctionne pas ✓ - Forum Excel
2 réponses
Utilisateur anonyme
Modifié par nagashima le 19/05/2016 à 17:26
Modifié par nagashima le 19/05/2016 à 17:26
Salut,
Tu n as que la moitié dans ton code: tu regarde n par rapport à n+1, mais après il est ignoré (quand n=n+1, le check se limite entre n+1 et n+2 => pas de check sur le n initial).
tu pourrai rajouter, par exemple:
si qui ordonnera le tout (je me rapel plus des codes exactes qui definissent les tri mais bref). C est juste un exempe que j ai tappé vite fait, donc a checker, mais ca te donnera une bonne idée de pourquoi ton code est insuffisant.
naga
EDIT: ah et tu auras un soucis avec
Tu n as que la moitié dans ton code: tu regarde n par rapport à n+1, mais après il est ignoré (quand n=n+1, le check se limite entre n+1 et n+2 => pas de check sur le n initial).
tu pourrai rajouter, par exemple:
if (tabi[i] > tabi[i + 1]) {
for(j=i+1;j>0 ; j++)
{
if( tab[j]<tab[j-1) {
nb_swap = tabi[j];
tabi[j] = tabi[j - 1];
tabi[j - 1] = nb_swap;
}
}
}
si qui ordonnera le tout (je me rapel plus des codes exactes qui definissent les tri mais bref). C est juste un exempe que j ai tappé vite fait, donc a checker, mais ca te donnera une bonne idée de pourquoi ton code est insuffisant.
naga
EDIT: ah et tu auras un soucis avec
i < (nb+1)dans le for de la fonction, mais je te laisse découvrir ^^(comme piste : penses au dernier indice du tableau et des indices utilisés pour les tests)
Dalfab
Messages postés
706
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
2 novembre 2023
101
19 mai 2016 à 17:57
19 mai 2016 à 17:57
Bonjour,
seule erreur dans la boucle for qui va plus qu'un peu trop loin dans ses indices.
seule erreur dans la boucle for qui va plus qu'un peu trop loin dans ses indices.
Dalfab
Messages postés
706
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
2 novembre 2023
101
>
Les Galériennes de l'Info
19 mai 2016 à 20:23
19 mai 2016 à 20:23
et quand on prend l'indice i + 1, il doit être aussi inférieur à n, d'où le test i + 1 < n au lieu de i < n + 1 !!
19 mai 2016 à 19:03
si je comprends bien le programme ne lit qu'une seule fois le tableau c'est ça ?
Et pour la boucle for, on a mis nb+1 car quand on compare la valeur nb il va y avoir un problème si on a pas de valeur au rang nb+1....
Modifié par nagashima le 20/05/2016 à 08:59
En l occurrance tu fais un passage qui fait "remonter" le plus grand mais c est tout, le reste est oublié.
pour le "+1", je dis pas juste que la manière dont tu as codé tu vas aller lire dans de la mémoire non alloué (ou qui n a rien a voir), car si tu as n éléments, le dernier indice est n-1
21 mai 2016 à 15:10