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