Langage C: tri d'un tab à 2 dim
Fermé
leProgmer
-
23 déc. 2010 à 07:47
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 24 déc. 2010 à 11:43
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 24 déc. 2010 à 11:43
A voir également:
- Langage C: tri d'un tab à 2 dim
- Langage ascii - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Langage pascal - Télécharger - Édition & Programmation
- Dev-Pascal - Télécharger - Édition & Programmation
1 réponse
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
23 déc. 2010 à 08:52
23 déc. 2010 à 08:52
Bonjour,
J'ai pas tout regardé.
Mais, ta fonction affichage est fausse. Tu affiches tab[0][j] au lieu de tab[i][j]. C'est pour ça que ta première ligne est répétée.
Ensuite pour ta fonction sort, tu tries tab[0][n] c'est à dire la première ligne.
Toi ce que tu veux faire, c'est trier le tableau par couple suivant la seconde colonne.
Il faut donc que tu tries suivant tab[i][1] et que tu n'oublies pas de traiter les couples.
Par exemple dans les :
Cdlt,
J'ai pas tout regardé.
Mais, ta fonction affichage est fausse. Tu affiches tab[0][j] au lieu de tab[i][j]. C'est pour ça que ta première ligne est répétée.
Ensuite pour ta fonction sort, tu tries tab[0][n] c'est à dire la première ligne.
Toi ce que tu veux faire, c'est trier le tableau par couple suivant la seconde colonne.
Il faut donc que tu tries suivant tab[i][1] et que tu n'oublies pas de traiter les couples.
Par exemple dans les :
if (tab[i][1]>tab[i+1][1]) { echanger(tab[i][1],tab[i+1][1]); echanger(tab[i][0],tab[i+1][0]); }
Cdlt,
24 déc. 2010 à 05:58
24 déc. 2010 à 11:43
echanger(tab[i][1],tab[i+1][1]); /*tu l'as fait dans ton code*/
echanger(tab[i][0],tab[i+1][0]); /*tu ne l'as pas fait*/
Ensuite, l'algorithme de ta fonction sort() est à revoir.
Tu peux t'inspirer du tri à bulle par exemple : http://fr.wikipedia.org/wiki/Tri_à_bulles
Tu verras que ton algorithme est erroné.
Cdlt,