Advertisement
Guest User

Untitled

a guest
Apr 24th, 2019
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.12 KB | None | 0 0
  1.  
  2. void merge(char* nomeArq1, char* nomeArq2, char* nomeArqMerge){
  3.     FILE *arq1, *arq2, *arq3;
  4.  
  5.     arq1 = fopen(nomeArq1, "r");
  6.     arq2 = fopen(nomeArq2, "r");
  7.     arq3 = fopen(nomeArqMerge, "w");
  8.  
  9.     if(!arq1 || !arq2){
  10.         fclose(arq1); fclose(arq2); fclose(arq3);
  11.         exit(1);
  12.     }
  13.     int n1, n2;
  14.     fscanf(arq1, " %d", &n1);
  15.     fscanf(arq2, " %d", &n2);
  16.  
  17.     while(!feof(arq1) && !feof(arq2)){
  18.         if(n1>n2){
  19.             fprintf(arq3, "%d\n", n2);
  20.             fscanf(arq2, " %d",&n2);
  21.         }
  22.         else if(n2>n1){
  23.             fprintf(arq3, "%d\n", n1);
  24.             fscanf(arq1, " %d",&n1);
  25.         }
  26.         else{
  27.             fprintf(arq3, "%d\n", n1);
  28.             fscanf(arq1, " %d",&n1);
  29.             fscanf(arq2, " %d",&n2);
  30.         }
  31.     }
  32.     while(!feof(arq1)){
  33.         //fprintf(arq3, "%d\n", n1);
  34.         fscanf(arq1, " %d",&n1);
  35.         fprintf(arq3, "%d\n", n1);
  36.     }
  37.     while(!feof(arq2)){
  38.         //fprintf(arq3, "%d\n", n2);
  39.         fscanf(arq2, " %d",&n2);
  40.         fprintf(arq3, "%d\n", n2);
  41.     }
  42.  
  43.     fclose(arq1);
  44.     fclose(arq2);
  45.     fclose(arq3);
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement