fork download
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. #define MAX 100
  5. #define TRUE 1
  6. #define FALSE 0
  7. #define MYNULL -1
  8. #define ERROR -1
  9.  
  10. typedef int boolean;
  11.  
  12. typedef struct query_s
  13. {
  14. char a[MAX];
  15. int position;
  16. boolean occupied;
  17. }query_t;
  18.  
  19. void initiate(query_t *q)
  20. {
  21. int i;
  22. for(i=1; i<MAX; i++)
  23. {
  24. q[i].occupied = FALSE;
  25. memset(q[i].a,MYNULL,MAX);
  26. q[i].position = 0;
  27. }
  28. }
  29.  
  30. int main(int argc, char *argv[])
  31. {
  32. query_t item[MAX];
  33. query_t value[MAX];
  34. query_t temp[MAX];
  35. char ch;
  36. char space;
  37. int i,j,h,k,l,query_max;
  38. FILE *query;
  39. FILE *data;
  40.  
  41. initiate(item);
  42. initiate(value);
  43. query = fopen("op2query.txt","r");
  44. i = 0;
  45. while ( ( ch = fgetc(query) ) != EOF )
  46. {
  47. fscanf(query,"%[^\n]",item[i].a);
  48. item[i].occupied = TRUE;
  49. i++;
  50.  
  51. }
  52. fclose(query);
  53. if (item[0].occupied == TRUE)
  54. {
  55. printf("The queries : \n");
  56. for (j=0; j<=i; j++)
  57. {
  58. puts(item[j].a);
  59. }
  60. }
  61. else
  62. printf("The query file is empty");
  63. query_max = i;
  64. data = fopen("op2data.txt","r");
  65. j = 0;
  66. i = 0;
  67. h = 0;
  68. k = 0;
  69. space = 32;
  70. while ( fscanf(data,"%s",&value) !=EOF )
  71. {
  72. memset(temp[h].a,0,10);
  73. while (item[h].a[k] != space)
  74. {
  75. k++;
  76. }
  77. for (l=0;l<=k;l++)
  78. {
  79. temp[h].a[l]=item[h].a[l];
  80. }
  81. if (temp[j].a != value[i].a)
  82. {
  83. item[j].position++;
  84. i++;
  85. }
  86. else
  87. {
  88. item[j].position++;
  89. item[j].occupied = FALSE;
  90. j++;
  91. }
  92. h++;
  93.  
  94. }
  95. for (i=0;i<=query_max;i++)
  96. {
  97. if (item[i].occupied == FALSE)
  98. {
  99. printf("%s %d \n",item[i].a,item[i].position);
  100. }
  101. else
  102. printf("%s -- \n",item[i].a);
  103. }
  104. }
  105.  
  106.  
  107.  
Runtime error #stdin #stdout 0s 2180KB
stdin
Standard input is empty
stdout
Standard output is empty