Guest User

Untitled

a guest
Dec 18th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4. enum {INF = 1000*1000*1000};
  5.  
  6. void readOne(FILE *inp, int *to){
  7. if (fscanf(inp, "%d", to) < 1)
  8. *to = INF;
  9. }
  10.  
  11. int getMin(int *arr, int count){
  12. int i, min = 0;
  13. for (i = 1; i < count; i++)
  14. if (arr[i] < arr[min])
  15. min = i;
  16. return min;
  17. }
  18.  
  19. int main(int argc, char **argv){
  20. if (argc < 2)
  21. return 0;
  22. FILE **inps = (FILE **)malloc((argc - 1) * sizeof(FILE *));
  23. int *cur = (int *)malloc((argc - 1) * sizeof(int));
  24. int i, min;
  25. for (i = 0; i < argc - 1; i++){
  26. inps[i] = fopen(argv[i + 1], "r");
  27. readOne(inps[i], &cur[i]);
  28. }
  29. while (cur[min = getMin(cur, argc - 1)] != INF){
  30. printf("%d ", cur[min]);
  31. readOne(inps[min], &cur[min]);
  32. }
  33. return 0;
  34. }
Add Comment
Please, Sign In to add comment