Fusion

Fermé
imen - 15 févr. 2006 à 11:07
mamiemando Messages postés 33284 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 25 septembre 2024 - 16 févr. 2006 à 10:44
Bonjour s'ilvous plait j'ai un problème c'est d'écrire en langage c la fusion de deux fichiers textes triés dans un autre fichier également trié. Le tri s'effectue avec un tri min max merci d'avance
A voir également:

1 réponse

mamiemando Messages postés 33284 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 25 septembre 2024 7 787
16 févr. 2006 à 10:44
Il faut découper ton programme comme suit :
1) Lecture des deux fichiers et stockage des éléments à trier dans une structure de donnée.
2) Tri de cette structure de donnée.
3) Ecriture du fichier de sortie

Dans le cas ou la méthode de tri n'est pas imposée on peut utliser la fonction qsort et utiliser comme structure de donnée un tableau à trier. Tu peux par exemple coder les étapes 1) et 3) et utiliser un qsort dans un premier temps.
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/qsort.3.html

Quoi qu'il en soit il faudra à un moment coder ton tri fusion. Le plus formateur serait de le coder toi même mais sinon en cherchant sur google tu peux en trouver des tout prêt :
http://www.dailly.info/algorithmes-de-tri/c/fusion.html

Note au passage que dans le lien que je te file les objets à trier sont des int et dans ton cas des char*. Il faudrait donc que tu t'inspires du prototype de qsort (les void * du qsort sont en fait des char **, ie des pointeurs sur des chaînes) et du tri fusion de ce lien pour ton problème.

Si ton programme est structuré comme je te le propose, il sera même facile de faire un comparatif de vitesse entre les deux méthodes.

Bonne chance
0