Aide pour ce prog - C - Programmation
Marsh Posté le 17-02-2012 à 11:47:50
Dans fichier 1 et fichier 2, les valeurs sont uniques, ou bien un même nombre peut figurer plusieurs fois dans un même fichier?
A+,
Marsh Posté le 17-02-2012 à 12:52:21
De tête, un truc comme ça devrait le faire:
1) tu tries tes fichiers (éventuellement, tu sauves les fichiers triés en fichiers temporaires trié1 et trié2) par ordre croissant.
2) tu avances dans trié1 et trié2 en comparant les valeurs et en faisant en sorte que chaque fois que la valeur courante de l'un des deux dépasse le valeur courante de l'autre, tu avance dans l'autre jusqu’à la dépasser. Si au cours de cette comparaison, une valeur de trié1 est dépassée sans avoir été trouvée dans trié2, on la met dans fichier3. Si on arrive a la fin de trié2, on met toutes les valeurs restantes de trié1 dans fichier3. Quand on arrive a la fin de trié1 on s’arrête.
Notes que C est pas très bien adapté pour ce genre de manipulations sur le contenu de fichiers. En Perl, ce serait bien plus simple.
A+,
Marsh Posté le 17-02-2012 à 17:09:28
Merci mais je préfère rester en C (car j'ai de tout petit reste d'un prog fais en 2005 en C).
Voilà, en fait j'ai commencé par faire cela :
je mets les valeurs de fichier1 dans un tableau tab1 et je fais idem pour fichier2 je mets dans tab2.
Puis je compare le premier contenu de tab1 avec tous les contenus de tab2. Si pas trouver alors écrit dans fichier3.
Je passe au second contenu de tab1 ...
Bon voilà le C/perl et moi sa fait deux, je m'y mets en espérant y arrivé dans les temps. C'est à dire avant Samedi midi.
Marsh Posté le 17-02-2012 à 19:10:55
Bien sur que tu peux faire comme cela, c'est juste que tu fais ça de manière complètement inefficace si tu tries pas tes tableaux au départ.
Mais bon, si ça te gène pas de perdre du temps dans l’exécution, pourquoi pas. Tout dépend du nombre de lignes de ton 2e fichier. Plus il est gros, plus tu perdras du temps.
A+,
Marsh Posté le 02-03-2012 à 20:43:19
Code :
|
J'ai fait sa vite fait j'en sait rien si sa marche et je suis pas un pro du C
Marsh Posté le 02-03-2012 à 21:42:46
Ça se voit puisqu'il y a des erreurs flagrantes et que ça ne répond absolument pas à la question..
Pas le moindre intérêt de poster cela ici.
A+,
Marsh Posté le 17-02-2012 à 11:41:58
Salut
Je bloque pour l'écriture de ce prog :
on a 2 fichiers de nombre cf ci-dessous fichier1.txt et fichier2.txt,
Je souhaite exclure les nombres du premier fichier par rapport
au second fichier en effet si un nombre de fichier1.txt est trouvé dans le fichier2.txt alors il n'est pas écrit dans
le fichier resultat.txt.
Et je souhaite faire cela pour tous les nombres de fichier1 par rapport à fichier2 et écrire les résultats dans resultat.txt.
fichier1.txt
------------
2578
1787
8789
fichier2.txt
------------
7612
1787
5556
3322
2578
resultat.txt
------------
8789