Merging two files?

Thread Solved

Join Date: Dec 2007
Posts: 7
Reputation: chaosatom333 is an unknown quantity at this point 
Solved Threads: 0
chaosatom333 chaosatom333 is offline Offline
Newbie Poster

Merging two files?

 
0
  #1
Dec 5th, 2007
Hi, i merged two files into chem.out but i need to figure out how I would arrange them by atomic number and how i can eliminate the duplicates. Should I use structures?


here is the program i wrote so far,
  1. #include<stdio.h>
  2. #include<math.h>
  3. #include<string.h>
  4.  
  5.  
  6. void merge_chem(FILE * inp1, FILE* inp2, FILE* outp);
  7.  
  8. int main(void)
  9. {
  10. FILE *inp1, *inp2, *outp;
  11. inp1 = fopen("chem1.txt", "r");
  12. inp2 = fopen("chem2.txt", "r");
  13. outp = fopen("chem.out", "w");
  14.  
  15. merge_chem(inp1,inp2,outp);
  16.  
  17. fclose(inp1);
  18. fclose(inp2);
  19. fclose(outp);
  20. return 0;
  21. }
  22.  
  23. void merge_chem(FILE * inp1, FILE* inp2, FILE* outp)
  24. {
  25. int atomic_num[40], atomic_num2[40], i = 0, j = 0, m =0, status, status2;
  26. int k =0;
  27. double weight[40], weight2[40];
  28. char name[40][40], symbol[40][40], name2[40][40], symbol2[40][40];
  29.  
  30. while(status != EOF)
  31. {
  32. status = fscanf(inp1, "%d%s%s%lf", &atomic_num[i], name[i], symbol[i], &weight[i]);
  33. i++;
  34. }
  35.  
  36. i = i-1;
  37.  
  38. while(status2 != EOF)
  39. {
  40. status2 = fscanf(inp2, "%d%s%s%lf", &atomic_num2[m], name2[m], symbol2[m], &weight2[m]);
  41. m++;
  42. }
  43. m = m-1;
  44.  
  45.  
  46. for(k = 0; k < m; k++)
  47. fprintf(outp,"%d %s %s %.2f\n", atomic_num2[k], name2[k], symbol2[k], weight2[k]);
  48. for(j = 0; j < i; j++)
  49. fprintf(outp,"%d %s %s %.2f\n", atomic_num[j], name[j], symbol[j], weight[j]);
  50. }
chem1.txt
1 Hydrogen H 1.01
1 Hydrogen H 1.01
1 Hydrogen H 1.01
50 Tin Sn 118.69
84 Polonium Po 209
88 Radium Ra 226.03

chem2.txt
1 Hydrogen H 1.01
1 Hydrogen H 1.01
1 Hydrogen H 1.01
1 Hydrogen H 1.01
1 Hydrogen H 1.01
1 Hydrogen H 1.01
11 Sodium Na 22.99
20 Calcium Ca 40.08
84 Polonium Po 209.00

this is what the output should look like
1 Hydrogen H 1.01
1 Hydrogen H 1.01
1 Hydrogen H 1.01
1 Hydrogen H 1.01
1 Hydrogen H 1.01
1 Hydrogen H 1.01
11 Sodium Na 22.99
20 Calcium Ca 40.08
50 Tin Sn 118.69
84 Polonium Po 209.00
88 Radium Ra 226.03


thanks,
Last edited by Ancient Dragon; Dec 5th, 2007 at 10:00 pm. Reason: add code tags
Reply With Quote Quick reply to this message  
Join Date: Dec 2005
Posts: 5,850
Reputation: Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute 
Solved Threads: 749
Team Colleague
Salem's Avatar
Salem Salem is offline Offline
Void main'ers are DOOMed

Re: Merging two files?

 
0
  #2
Dec 6th, 2007
> Should I use structures?
Yes, it's certainly a lot more convenient than using lots of arrays.
Reply With Quote Quick reply to this message  
Reply

This thread has been marked solved.
Perhaps start a new thread instead?
Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC