sâmbătă, 8 septembrie 2018

Interclasare Fisiere

# include <stdio.h>;
# include <conio.h>;

FILE *pf1, *pf2, *pf3;
int n1,n2,n3;

void main(void)
{
clrscr();

pf1=fopen("fis1.txt","r");
pf2=fopen("fis2.txt","r");
pf3=fopen("fis3.txt","w+");

fscanf(pf1,"%d",&n1);
fscanf(pf2,"%d",&n2);

int f=0;

while(!feof(pf1)&&(!feof(pf2)))
{
 if(f==1)
  fscanf(pf1,"%d",&n1);
 if(f==2)
  fscanf(pf2,"%d",&n2);
 if(n1<n2)
  {
   fprintf(pf3,"%d\n",n1);
   f=1;
  }
 else
  {
   fprintf(pf3,"%d\n",n2);
   f=2;
  }
}

FILE * aux;
int n=0;

if(feof(pf1) && (!feof(pf2)))
 {
  aux=pf2;
  while(n2<=n1)
  {
   fprintf(pf3,"%d\n",n2);
    fscanf(pf2,"%d",&n2);
  }
  fprintf(pf3,"%d\n",n2);

 }
else if((!feof(pf1)) && feof(pf2))
 {
  aux=pf1;

  while(n1<=n2)
  {
   fprintf(pf3,"%d\n",n1);
    fscanf(pf1,"%d",&n1);
  }
  fprintf(pf3,"%d\n",n1);

 }

while(!feof(aux))
 {
  fscanf(aux,"%d",&n);
  fprintf(pf3,"%d\n",n);
 }

fclose(pf1);
fclose(pf2);
fclose(pf3);

getche();
}

Niciun comentariu:

Trimiteți un comentariu