Algorithme de tri ( tri mini )
Doolagoo
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour à tous,
J'essaye de trier ce tableau et malheureusement je n'y parviens pas.
Pourriez vous m'aider et me dire ce qui ne va pas dans mon programme ? merci
J'essaye de trier ce tableau et malheureusement je n'y parviens pas.
Pourriez vous m'aider et me dire ce qui ne va pas dans mon programme ? merci
#include <stdio.h>
#include <stdlib.h>
int main()
{
int tab[5]={6,12,4,11,1};
int i, imin, j, aux, n;
for(i=0;i<n-1;i++)
{
imin=i;
for(j=i+1;j<n;j++)
{
if(tab[j]<tab[imin])
{
imin=j;
aux=tab[imin];
tab[imin]=tab[i];
tab[i]=aux;
}
}
for(j=i+1;j<n;j++)
{
printf("%d\n",tab[j]);
}
}
return 0;
}
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Algorithme de tri ( tri mini )
- Comment faire un tri personnalisé sur excel - Guide
- Logiciel tri photo - Guide
- Opera mini pc - Télécharger - Navigateurs
- Changer code x96 mini - Forum TV & Vidéo
- Wap tri - Télécharger - Divers TV & Vidéo
1 réponse
Bonjour
Je n'ai pas essayé, mais il me semble qu'il y a un problème d'algorithme.
Ton indice imin ne devrait pas exister. Dans ta boucle intérieure, tu devrais toujours faire la comparaison avec tab[i].
Tel que tu as écrit, quand tu permutes deux éléments, tu affectes aussi ton imin : tab[imin] désigne donc toujours le même élément, et non pas le plus petit que tu viens de trouver et de mettre dans tab[i].
Je n'ai pas essayé, mais il me semble qu'il y a un problème d'algorithme.
Ton indice imin ne devrait pas exister. Dans ta boucle intérieure, tu devrais toujours faire la comparaison avec tab[i].
Tel que tu as écrit, quand tu permutes deux éléments, tu affectes aussi ton imin : tab[imin] désigne donc toujours le même élément, et non pas le plus petit que tu viens de trouver et de mettre dans tab[i].