txt 1: 403 1699 1738 3027 3237 4433 4443 5043 5553 5845 6799 7185 7952 8011 9719
ID: 3571227 • Letter: T
Question
txt 1:
403 1699 1738 3027 3237 4433 4443 5043 5553 5845
6799 7185 7952 8011 9719 10967 11693 11730 11952 12996
-------------------------------------------------------------------------------------
txt 2:
1335 1787 1998 3328 4033 4292 4907 5018 5140 5330
5793 5844 6005 6019 6063 6716 7618 9262 10225 15025
Explanation / Answer
//C code
#include <stdio.h>
#include <stdlib.h> // For exit() function
int main(int argc, char const *argv[])
{
int number1;
int number2;
FILE *infptr1;
FILE *infptr2;
FILE *outfptr;
if ((infptr1 = fopen(argv[1], "r")) == NULL)
{
printf("Error! opening file");
// Program exits if file pointer returns NULL.
exit(1);
}
if ((infptr2 = fopen(argv[2], "r")) == NULL)
{
printf("Error! opening file");
// Program exits if file pointer returns NULL.
exit(1);
}
if ((outfptr = fopen(argv[3], "w")) == NULL)
{
printf("Error!");
exit(1);
}
// check if one of the file is empty
if(fscanf(infptr1, "%d", &number1) == -1)
{
while(fscanf(infptr2, "%d", &number2) == 1)
fprintf(outfptr,"%d ", number2);
return 0;
}
if(fscanf(infptr2, "%d", &number2) == -1)
{
while(fscanf(infptr1, "%d", &number1) == 1)
fprintf(outfptr,"%d ", number1);
return 0;
}
int flag;
while (1)
{
if(number1 < number2)
{
fprintf(outfptr,"%d ", number1);
if(fscanf(infptr1, "%d", &number1) == -1)
{
flag = 1;
break;
}
}
else
{
fprintf(outfptr,"%d ", number2);
if(fscanf(infptr2, "%d", &number2) == -1)
{
flag = 2;
break;
}
}
}
if(flag == 1)
fprintf(outfptr,"%d ", number2);
else
fprintf(outfptr,"%d ", number1);
while(fscanf(infptr2, "%d", &number2) == 1)
{
fprintf(outfptr,"%d ", number2);
}
while(fscanf(infptr1, "%d", &number1) == 1)
{
fprintf(outfptr,"%d ", number1);
}
fclose(infptr1);
fclose(infptr2);
fclose(outfptr);
return 0;
}
/*
number1.txt
403 1699 1738 3027 3237 4433 4443 5043 5553 5845
6799 7185 7952 8011 9719 10967 11693 11730 11952 12996
number2.txt
1335 1787 1998 3328 4033 4292 4907 5018 5140 5330
5793 5844 6005 6019 6063 6716 7618 9262 10225 15025
sortedNumbers.txt
403 1335 1699 1738 1787 1998 3027 3237 3328
4033 4292 4433 4443 4907 5018 5043 5140 5330
5553 5793 5844 5845 6005 6019 6063 6716 6799
7185 7618 7952 8011 9262 9719 10225 10967 11693
11730 11952 12996 15025
*/
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.