Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #define M 100
- #define sf(a) scanf("%d", &a)
- #define pf(a) printf("%d", a)
- #define sc scanf
- #define pc printf
- #define pb push_back
- #define pi1 acos(-1)
- #define pi2 3.14151317
- #define loop0(i,n) for(i=0;i<n;i++)
- #define loop1(i,n) for(i=0;i<n-1;i++)
- /*
- @ Author- Sabbir Ahmed Shibli
- @ ID- 15101076
- @ Department of CSE, University of Asia Pacific
- */
- using namespace std;
- int main()
- {
- int n,i=0,sum=0;
- float avgWaitingTime,serverUtil;
- int interArrival[M];
- int arrivalTime[M];
- int serviceTime[M];
- int serviceBegins[M];
- int serviceEnds[M];
- int waitingTime[M];
- int idleTime[M];
- printf("Enter the amount of customers: ");
- scanf("%d", &n);
- loop0(i,n) {
- if(i==0)
- interArrival[i]=0;
- else
- interArrival[i]=rand()%n;
- }
- loop0(i,n) {
- serviceTime[i]=rand()%4+1;
- }
- loop0(i,n) {
- if(i==0)
- arrivalTime[i]=0;
- else
- arrivalTime[i]=arrivalTime[i-1]+interArrival[i];
- }
- loop0(i,n) {
- if(i==0) {
- serviceBegins[i]=0;
- serviceEnds[i]=serviceTime[0];
- }
- else {
- if(serviceEnds[i-1]>=arrivalTime[i])
- serviceBegins[i]=serviceEnds[i-1];
- else
- serviceBegins[i]=arrivalTime[i];
- serviceEnds[i]=serviceBegins[i]+serviceTime[i];
- }
- }
- loop0(i,n) {
- waitingTime[i]=serviceEnds[i]-serviceBegins[i];
- }
- loop0(i,n) {
- sum += waitingTime[i];
- }
- avgWaitingTime=sum/float(n);
- sum=0;
- loop1(i,n) {
- idleTime[i]=serviceBegins[i+1]-serviceEnds[i];
- }
- loop1(i,n) {
- sum+=idleTime[i];
- }
- serverUtil=((serviceEnds[n-1]-sum)/float(serviceEnds[n-1]))*100;
- /// Printing all the columns
- // Inter Arrival Time
- printf("InterArrival Time: ");
- loop0(i,n) {
- printf("%d ", interArrival[i]);
- }
- printf("\n");
- // Service Time
- printf("Service Time: ");
- loop0(i,n) {
- printf("%d ", serviceTime[i]);
- }
- printf("\n");
- // Arrival Time
- printf("Arrival Time: ");
- loop0(i,n) {
- printf("%d ", arrivalTime[i]);
- }
- printf("\n");
- // Service Begins
- printf("Service Beginning Time: ");
- loop0(i,n) {
- printf("%d ", serviceBegins[i]);
- }
- printf("\n");
- // Service Ends
- printf("Service Ending Time: ");
- loop0(i,n) {
- printf("%d ", serviceEnds[i]);
- }
- printf("\n");
- // Waiting Time
- printf("Waiting Time: ");
- loop0(i,n) {
- printf("%d ", waitingTime[i]);
- }
- printf("\n");
- printf("Average Waiting Time: %.02lf s.\n", avgWaitingTime);
- printf("Server Utilization: %.02lf %%\n", serverUtil);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement