Advertisement
Guest User

Untitled

a guest
Jul 16th, 2013
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.59 KB | None | 0 0
  1. #include <cstdio>
  2. #include <cstdlib>
  3.  
  4. #define MAX_ROOMS 100
  5. #define MAX_VISITORS 1024
  6.  
  7. struct Visitor
  8. {
  9.     int v_id, r_id, time;
  10.     char state;
  11. };
  12.  
  13.  
  14. int main()
  15. {
  16.     int n_lines = 0, i = 0;
  17.  
  18.     FILE* fp = fopen("input2.txt", "r");
  19.  
  20.  
  21.         fscanf(fp, "%d", &n_lines);
  22.  
  23.         struct Visitor* visitors = (Visitor*)malloc(n_lines*sizeof(Visitor));
  24.  
  25.         int v_id, r_id, time;
  26.         char state;
  27.  
  28.         while(fscanf(fp, "%d %d %c %d", &v_id, &r_id, &state, &time) != EOF)
  29.         {
  30.             visitors[i].v_id = v_id;
  31.             visitors[i].r_id = r_id;
  32.             visitors[i].state = state;
  33.             visitors[i].time = time;
  34.             i++;
  35.         }
  36.  
  37.     int k = 0;
  38.     bool room_entered = false;
  39.  
  40.     while(k < MAX_ROOMS)
  41.     {
  42.         int num_visitors = 0, in_time = 0, out_time = 0;
  43.  
  44.         for(int j = 0; j < i; ++j)
  45.         {
  46.             if(visitors[j].r_id == k)
  47.             {
  48.  
  49.                 num_visitors++;
  50.                 room_entered = true;
  51.  
  52.                 if(visitors[j].state == 'I')
  53.                 {
  54.                     in_time += visitors[j].time;
  55.                 }
  56.                 else
  57.                 {
  58.                     out_time += visitors[j].time;
  59.                 }
  60.             }
  61.         }
  62.         if(room_entered)
  63.         {
  64.             printf("Room %d, %d minute avarage visit, %d visitor(s) total \n", k,
  65.                    ((out_time - in_time) / (num_visitors/2)), num_visitors/2);
  66.  
  67.             room_entered = false;
  68.         }
  69.  
  70.        k++;
  71.  
  72.     }
  73.  
  74.     fclose(fp);
  75.     free(visitors);
  76.  
  77.     return 0;
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement