Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- struct node {
- int time_arr , arrivel , sertime, timeserbeg , timeQ , timesevend , timespend ;
- node(){}
- };
- node seg[10000];
- int main()
- {
- printf("\t\tSimulation of Single Queueing Systems\n\n");
- int t ;
- printf("Enter The Number of customer : ");
- scanf("%d" , &t);
- seg[1].time_arr = 0;
- printf("Enter The Arrival Times: ");
- for(int i = 2 ; i <= t ; ++i) scanf("%d" , &seg[i].time_arr);
- for(int i = 1 ; i <= t ; ++i) seg[i].arrivel = seg[i].time_arr;
- for(int i = 1 ; i <= t ; ++i) seg[i].arrivel += seg[i - 1].arrivel;
- printf("Enter The Service Times: ");
- for(int i = 1 ; i <= t ; ++i) scanf("%d" , &seg[i].sertime);
- seg[1].timeserbeg = seg[1].timeQ = 0;
- seg[1].timesevend = seg[1].timespend = seg[1].sertime;
- printf("\n\n");
- for(int i = 2 ; i <= t ; ++i)
- {
- if(seg[i].arrivel < seg[i - 1].timesevend)
- {
- seg[i].timeserbeg = seg[i - 1].timesevend;
- seg[i].timeQ = abs(seg[i].arrivel - seg[i - 1].timesevend);
- }
- else
- {;
- seg[i].timeserbeg = seg[i].arrivel;
- seg[i].timeQ = 0;
- }
- seg[i].timesevend = seg[i].timeserbeg + seg[i].sertime;
- seg[i].timespend = seg[i].timeQ + seg[i].sertime;
- }
- printf("Simulation Table:\n\n\n");
- printf("| C |TSLA | AT | ST | TSB | WTQ |TSE | STS | IT|");
- printf("\n---------------------------------------------------\n");
- for(int i = 1 ; i <= t ; ++i)
- {
- printf("|%3d | %3d | %3d | %3d | %3d | %3d |%3d | %3d |" , i , seg[i].time_arr , seg[i].arrivel ,
- seg[i].sertime,seg[i].timeserbeg , seg[i].timeQ , seg[i].timesevend , seg[i].timespend );
- if(seg[i].timeQ || i == 1) printf(" 0|\n");
- else printf("%3d|\n" , abs( seg[i].timeserbeg - seg[i - 1].timesevend) );
- }
- printf("---------------------------------------------------\n");
- double countST=0,countWQ=0;
- for(int i = 1 ; i <= t ; ++i){
- countWQ= countWQ+seg[i].timeQ;
- countST= countST+ seg[i].sertime;
- }
- printf("\n\nAvarage Waiting Time:%0.3lf",countWQ/(t-1));
- printf("\nAvarage service Time:%0.3lf\n\n",countST/(t-1));
- return 0;
- }
Add Comment
Please, Sign In to add comment