apres les listes chainées , c'est auour des FICHIERS .... - Programmation
Marsh Posté le 13-05-2002 à 07:38:47
tu mets tout dans un tableau en memoire et tu fais un qsort
ensuite tu vires les doublons (une bete boucle)
et tu ecris le resultat dans ton fichier en sortie
en plus ca ira bcp plus vite
Marsh Posté le 13-05-2002 à 11:57:42
merci d'avoir repondu , mais je n'ai pas le droit d'utiliser les tableaux!!!
Marsh Posté le 13-05-2002 à 14:50:48
j'ai pas lu ton prog, mais tu gardes tout betement le dernier entier écrit, vu qu'ils sont dans l'ordre, t'as qu'a comparer avec celui-la avant d'écrire.
Marsh Posté le 12-05-2002 à 09:23:35
pour les fichier ,le but est de fusionner deux fichiers qui contiennent des entiers tries par ordre croissant , et de creer un troisieme fichier pour y placer les entiers des 2 fichiers dna s l'ordre croissant sans tenir compte des doubles:
mon programme ( qui marche !! )
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* QUESTION 1 FICHIER */
void main(void) {
int i=0,j=0,res,a=0,b=0;
int C,D,A,B,E,F;
FILE *FS,*E1,*E2;
/*E1=fopen("C:\\E1.TXT","w+t" );
while(i!=7) {
scanf("%d",&C);
fprintf(E1,"%d\n",C);
i++;
}
fclose(E1);
E2=fopen("C:\\E2.TXT","w+t" );
while(j!=10) {
scanf("%d",&D);
fprintf(E2,"%d\n",D);
j++;
}
fclose(E2);*/
E1=fopen("C:\\E1.TXT","r+t" );
E2=fopen("C:\\E2.TXT","r+t" );
FS=fopen("C:\\FS.TXT","w+t" );
fscanf(E1,"%d\n",&A);
fscanf(E2,"%d\n",&B);
while (!feof(E1)) {
if (A<B) {
fprintf(FS,"%d\n",A);
feof(E1);
fscanf(E1,"%d\n",&A);
}
else {
fprintf(FS,"%d\n",B);
feof(E2);
fscanf(E2,"%d\n",&B);
}
}
if(A<B) {
fprintf(FS,"%d\n",A);
fprintf(FS,"%d\n",B);
}
else {
fprintf(FS,"%d\n",B);
fprintf(FS,"%d\n",A);
}
while (!feof(E2)) {
fscanf(E2,"%d\n",&E);
fprintf(FS,"%d\n",E);
}
fclose(FS);
fclose(E2);
fclose(E1);
}
PS: je sais que mon prog n'est pas correct, il manque des conditions,....
Mais la ou je n'y arrive pas , c'est de modifier ce prog pour que les doudles soient supprimés automatiquement !!
Voici un exemple de ce qui se passerait:
E1: {2,4,4,6,10,10,12}
E2: {3,5,6,7,7,9,11,12,13,15}
=> FS: {2,3,4,5,6,7,9,10,11,12,13,15}
Ca doit pas etre compliqué mais g toujours pas trouvé!!
Aidez moi s'il vous plait !!!
Merci d'avance