Bonjour,
J'aimerais savoir comment trier un champ d'une structure en langage c?
Merci
Bonjour,
J'aimerais savoir comment trier un champ d'une structure en langage c?
Merci
Développe.
S'agit-il d'un tableau de structures d'un certain type, que tu veux trier selon un certain champ?
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
voici la structure:
Je désire trier le champ duree de la structure tache.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 typedef struct { int date_debut; int duree; }tache; int main() tache job [3]={{5,3},{1,2},{3,4}};
Des idées?
Non, tu désires trier ton tableau de structures tache nommé job selon le champ duree de la structure tache.
Le plus simple, c'est utiliser la fonction qsort().
Tout ce qu'elle demande, c'est quelques informations sur le tableau et une fonction qui compare:
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 typedef struct { int date_debut; int duree; } tache; int CompareTacheParDuree(const void *pcvA, const void *pcvB) { const tache *pcA = pcvA; const tache *pcB = pcvB; int res; /*Compare simplement le champ durée, sans considération pour le reste.*/ res = pcA->duree - pcB->duree; return res; } int main(void) { tache job [3]={{5,3},{1,2},{3,4}}; qsort(job, 3, sizeof(tache), CompareTacheParDuree); }
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.








bonjour
j'ai une question a propos la qsort() .Est ce que cette fonction Peut trié selon trois champ ? par exemple :le problème
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 typedef struct CITOYEN { char nom[10] ; char prenom[20]; int cin; int jour; int mois; int annee; int numrue ; char cite[15] ; char ville[20]; int codp; }cit; cit t[i];
alors n passe a la dexième condition :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 t[i].annee == t[i+1].annee
sinon en passe a la troisième condition :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 t[i].mois== t[i+1].mois
sinon quelle et la solution ? quel fo l'utiliser ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 t[i].jour== t[i+1].jour
merci bien d'anance
Partager