Exercice en langage C "compliquer
yepidan
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
yepidan Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
yepidan Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
svp quel'un peux m'aider pour un exercice en langage C
je veux traiter un tri d'un ensemble de phrase en utilisons un tri rapide (quicksort) et en adoptant la notion des pointeurs l'ensemble des phrase c'est 10 ligne et chaque ligne contient au max 200 caractère (un tri lexicographique)
et merci de me répondre au plus proche
svp quel'un peux m'aider pour un exercice en langage C
je veux traiter un tri d'un ensemble de phrase en utilisons un tri rapide (quicksort) et en adoptant la notion des pointeurs l'ensemble des phrase c'est 10 ligne et chaque ligne contient au max 200 caractère (un tri lexicographique)
et merci de me répondre au plus proche
A voir également:
- Exercice en langage C "compliquer
- Langage ascii - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Langage visual basic - Télécharger - Langages
- Langage basic gratuit - Télécharger - Édition & Programmation
1 réponse
Tu as la fonction qsort qui te fait déjà tout le travail :
La fonction de comparaison défini ton ordre de tri, son nom n'est pas important, ce qui nous intéresse c'est qu'elle renvoie un nombre négatif, nul, ou positif, si le premier élément pointé est plus petit, égal, ou plus grand que le deuxième élément pointé.
Une fois la méthode appelée, le tableau d'éléments "tab" est trié...
void qsort( void *tab, // un tableau d'éléments size_t nbelt, // le nombre d'éléments dans le tableau size_t width, // la taille de chaque éléments (cf. sizeof) int (*compar)(const void *, const void *) // la fonction de comparaison );
La fonction de comparaison défini ton ordre de tri, son nom n'est pas important, ce qui nous intéresse c'est qu'elle renvoie un nombre négatif, nul, ou positif, si le premier élément pointé est plus petit, égal, ou plus grand que le deuxième élément pointé.
int compare( const void *elt1, // un pointeur sur un premier élément const void *elt2, // un pointeur sur un deuxième élément );
Une fois la méthode appelée, le tableau d'éléments "tab" est trié...
Pour ton problème particulier, il te faudra un tableau, dans le tableau tu peux effectivement mettre des pointeurs char* ou alors directement des string, l'important est que la taille des éléments dans le tableau soient constante.