#include <stdio.h>
int main()
{
int arrival_time[10], burst_time[10], temp[10];
int i
, smallest
, count
= 0, time, limit
; double wait_time = 0, turnaround_time = 0, end;
float average_waiting_time, average_turnaround_time;
printf("\nEnter the Total Number of Processes:\t"); printf("\nEnter Details of %d Processes\n", limit
); for(i = 0; i < limit; i++)
{
printf("\nEnter Arrival Time:\t"); scanf("%d", &arrival_time
[i
]); printf("Enter Burst Time:\t"); scanf("%d", &burst_time
[i
]); temp[i] = burst_time[i];
}
burst_time[9] = 9999;
{
smallest = 9;
for(i = 0; i < limit; i++)
{
if(arrival_time
[i
] <= time && burst_time
[i
] < burst_time
[smallest
] && burst_time
[i
] > 0) {
smallest = i;
}
}
burst_time[smallest]--;
if(burst_time[smallest] == 0)
{
count++;
wait_time = wait_time + end - arrival_time[smallest] - temp[smallest];
turnaround_time = turnaround_time + end - arrival_time[smallest];
}
}
average_waiting_time = wait_time / limit;
average_turnaround_time = turnaround_time / limit;
printf("\n\nAverage Waiting Time:\t%lf\n", average_waiting_time
); printf("Average Turnaround Time:\t%lf\n", average_turnaround_time
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiAKaW50IG1haW4oKSAKewoJaW50IGFycml2YWxfdGltZVsxMF0sIGJ1cnN0X3RpbWVbMTBdLCB0ZW1wWzEwXTsKCWludCBpLCBzbWFsbGVzdCwgY291bnQgPSAwLCB0aW1lLCBsaW1pdDsKCWRvdWJsZSB3YWl0X3RpbWUgPSAwLCB0dXJuYXJvdW5kX3RpbWUgPSAwLCBlbmQ7CglmbG9hdCBhdmVyYWdlX3dhaXRpbmdfdGltZSwgYXZlcmFnZV90dXJuYXJvdW5kX3RpbWU7CglwcmludGYoIlxuRW50ZXIgdGhlIFRvdGFsIE51bWJlciBvZiBQcm9jZXNzZXM6XHQiKTsKCXNjYW5mKCIlZCIsICZsaW1pdCk7IAoJcHJpbnRmKCJcbkVudGVyIERldGFpbHMgb2YgJWQgUHJvY2Vzc2VzXG4iLCBsaW1pdCk7Cglmb3IoaSA9IDA7IGkgPCBsaW1pdDsgaSsrKQogCXsKCQlwcmludGYoIlxuRW50ZXIgQXJyaXZhbCBUaW1lOlx0Iik7CgkJc2NhbmYoIiVkIiwgJmFycml2YWxfdGltZVtpXSk7CgkJcHJpbnRmKCJFbnRlciBCdXJzdCBUaW1lOlx0Iik7CgkJc2NhbmYoIiVkIiwgJmJ1cnN0X3RpbWVbaV0pOyAKCQl0ZW1wW2ldID0gYnVyc3RfdGltZVtpXTsKCX0KICAJYnVyc3RfdGltZVs5XSA9IDk5OTk7ICAKIAlmb3IodGltZSA9IDA7IGNvdW50ICE9IGxpbWl0OyB0aW1lKyspCiAJewogICAJCXNtYWxsZXN0ID0gOTsKICAJCWZvcihpID0gMDsgaSA8IGxpbWl0OyBpKyspCiAgCQl7CiAgIAkJCWlmKGFycml2YWxfdGltZVtpXSA8PSB0aW1lICYmIGJ1cnN0X3RpbWVbaV0gPCBidXJzdF90aW1lW3NtYWxsZXN0XSAmJiBidXJzdF90aW1lW2ldID4gMCkKCQkJewogICAJCQkJc21hbGxlc3QgPSBpOwoJCQl9CiAgCQl9CiAgCQlidXJzdF90aW1lW3NtYWxsZXN0XS0tOwogIAkJaWYoYnVyc3RfdGltZVtzbWFsbGVzdF0gPT0gMCkKICAJCXsKICAgCQkJY291bnQrKzsKICAgCQkJZW5kID0gdGltZSArIDE7CiAgIAkJCXdhaXRfdGltZSA9IHdhaXRfdGltZSArIGVuZCAtIGFycml2YWxfdGltZVtzbWFsbGVzdF0gLSB0ZW1wW3NtYWxsZXN0XTsKICAgCQkJdHVybmFyb3VuZF90aW1lID0gdHVybmFyb3VuZF90aW1lICsgZW5kIC0gYXJyaXZhbF90aW1lW3NtYWxsZXN0XTsKICAJCX0KIAl9CglhdmVyYWdlX3dhaXRpbmdfdGltZSA9IHdhaXRfdGltZSAvIGxpbWl0OyAKCWF2ZXJhZ2VfdHVybmFyb3VuZF90aW1lID0gdHVybmFyb3VuZF90aW1lIC8gbGltaXQ7CiAJcHJpbnRmKCJcblxuQXZlcmFnZSBXYWl0aW5nIFRpbWU6XHQlbGZcbiIsIGF2ZXJhZ2Vfd2FpdGluZ190aW1lKTsKICAgIAlwcmludGYoIkF2ZXJhZ2UgVHVybmFyb3VuZCBUaW1lOlx0JWxmXG4iLCBhdmVyYWdlX3R1cm5hcm91bmRfdGltZSk7CiAgICAJcmV0dXJuIDA7Cn0=