Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- #include <cstdlib>
- #define MAX_ROOMS 100
- #define MAX_VISITORS 1024
- struct Visitor
- {
- int v_id, r_id, time;
- char state;
- };
- int main()
- {
- int n_lines = 0, i = 0;
- FILE* fp = fopen("input2.txt", "r");
- fscanf(fp, "%d", &n_lines);
- struct Visitor* visitors = (Visitor*)malloc(n_lines*sizeof(Visitor));
- int v_id, r_id, time;
- char state;
- while(fscanf(fp, "%d %d %c %d", &v_id, &r_id, &state, &time) != EOF)
- {
- visitors[i].v_id = v_id;
- visitors[i].r_id = r_id;
- visitors[i].state = state;
- visitors[i].time = time;
- i++;
- }
- int k = 0;
- bool room_entered = false;
- while(k < MAX_ROOMS)
- {
- int num_visitors = 0, in_time = 0, out_time = 0;
- for(int j = 0; j < i; ++j)
- {
- if(visitors[j].r_id == k)
- {
- num_visitors++;
- room_entered = true;
- if(visitors[j].state == 'I')
- {
- in_time += visitors[j].time;
- }
- else
- {
- out_time += visitors[j].time;
- }
- }
- }
- if(room_entered)
- {
- printf("Room %d, %d minute avarage visit, %d visitor(s) total \n", k,
- ((out_time - in_time) / (num_visitors/2)), num_visitors/2);
- room_entered = false;
- }
- k++;
- }
- fclose(fp);
- free(visitors);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement