#include <stdio.h>
int main( float main) {
int p[ 10 ] , at[ 10 ] , bt[ 10 ] ;
int i, j, temp, n;
float awt = 0 , atat = 0 ;
int over
= 0 , time = 0 , count
, sum_wait
= 0 , sum_tat
= 0 , start
; printf ( "Enter number of processes:\n " ) ; for ( i = 0 ; i < n; i++ ) {
p[ i] = i + 1 ;
}
printf ( "Enter arrival time of each process:\n " ) ; for ( i = 0 ; i < n; i++ ) {
}
printf ( "Enter burst time of each process:\n " ) ; for ( i = 0 ; i < n; i++ ) {
}
// Sort processes by arrival time using bubble sort
for ( i = 0 ; i < n - 1 ; i++ ) {
for ( j = i+ 1 ; j < n; j++ ) {
if ( at[ i] > at[ j] ) {
// Swap arrival times
temp = at[ i] ;
at[ i] = at[ j] ;
at[ j] = temp;
// Swap burst times
temp = bt[ i] ;
bt[ i] = bt[ j] ;
bt[ j] = temp;
// Swap process IDs
temp = p[ i] ;
p[ i] = p[ j] ;
p[ j] = temp;
}
}
}
printf ( "\n P\t AT\t BT\t start time \t end time\t WT\t TAT\n " ) ; while ( over< n) {
count= 0 ;
for ( i= over; i< n; i++ ) {
count++;
else
break ;
}
if ( count> 1 ) {
for ( i= over; i< over+ count- 1 ; i++ ) {
for ( j= i+ 1 ; j< over+ count; j++ ) {
if ( bt[ i] > bt[ j] ) {
// Swap arrival times
temp = at[ i] ;
at[ i] = at[ j] ;
at[ j] = temp;
// Swap burst times
temp = bt[ i] ;
bt[ i] = bt[ j] ;
bt[ j] = temp;
// Swap process IDs
temp = p[ i] ;
p[ i] = p[ j] ;
p[ j] = temp;
}
}
}
}
printf ( "\n p[%d]\t %d\t %d\t %d\t %d\t %d\t %d" , p
[ over
] , at
[ over
] , bt
[ over
] , start
, time , time
- at
[ over
] - bt
[ over
] , time
- at
[ over
] ) ; sum_wait+= time- at[ over] - bt[ over] ;
sum_tat+= time- at[ over] ;
over++;
}
atat= ( float ) sum_tat/ n;
awt= ( float ) sum_wait/ n;
printf ( "\n Average Turnaround Time = %.2f" , atat
) ; printf ( "\n Average Waiting Time = %.2f\n " , awt
) ;
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiAKaW50IG1haW4oZmxvYXQgbWFpbikgewogICAgaW50IHBbMTBdLCBhdFsxMF0sIGJ0WzEwXTsKICAgIGludCBpLCBqLCB0ZW1wLCBuOwogICAgZmxvYXQgYXd0ID0gMCwgYXRhdCA9IDA7CmludCBvdmVyPTAsdGltZT0wLGNvdW50LHN1bV93YWl0PTAsc3VtX3RhdD0wLHN0YXJ0OwogICAgcHJpbnRmKCJFbnRlciBudW1iZXIgb2YgcHJvY2Vzc2VzOlxuIik7CiAgICBzY2FuZigiJWQiLCAmbik7CiBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgcFtpXSA9IGkgKyAxOwogICAgfQogCiAgICBwcmludGYoIkVudGVyIGFycml2YWwgdGltZSBvZiBlYWNoIHByb2Nlc3M6XG4iKTsKICAgIGZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBzY2FuZigiJWQiLCAmYXRbaV0pOwogICAgfQogCiAgICBwcmludGYoIkVudGVyIGJ1cnN0IHRpbWUgb2YgZWFjaCBwcm9jZXNzOlxuIik7CiAgICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgc2NhbmYoIiVkIiwgJmJ0W2ldKTsKICAgIH0KIAogICAgLy8gU29ydCBwcm9jZXNzZXMgYnkgYXJyaXZhbCB0aW1lIHVzaW5nIGJ1YmJsZSBzb3J0CiAgICBmb3IgKGkgPSAwOyBpIDwgbiAtIDE7IGkrKykgewogICAgICAgIGZvciAoaiA9IGkrMTsgaiA8IG47IGorKykgewogICAgICAgICAgICBpZiAoYXRbaV0gPiBhdFtqXSkgewogICAgICAgICAgICAgICAgLy8gU3dhcCBhcnJpdmFsIHRpbWVzCiAgICAgICAgICAgICAgICB0ZW1wID0gYXRbaV07CiAgICAgICAgICAgICAgICBhdFtpXSA9IGF0W2pdOwogICAgICAgICAgICAgICAgYXRbal0gPSB0ZW1wOwogCiAgICAgICAgICAgICAgICAvLyBTd2FwIGJ1cnN0IHRpbWVzCiAgICAgICAgICAgICAgIHRlbXAgPSBidFtpXTsKICAgICAgICAgICAgICAgIGJ0W2ldID0gYnRbal07CiAgICAgICAgICAgICAgICBidFtqXSA9IHRlbXA7CiAKICAgICAgICAgICAgICAgIC8vIFN3YXAgcHJvY2VzcyBJRHMKICAgICAgICAgICAgICAgIHRlbXAgPSBwW2ldOwogICAgICAgICAgICAgICAgcFtpXSA9IHBbal07CiAgICAgICAgICAgICAgICBwW2pdID0gdGVtcDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHByaW50ZigiXG5QXHRBVFx0QlRcdHN0YXJ0IHRpbWUgXHQgZW5kIHRpbWVcdCBXVFx0IFRBVFxuIik7CiAgICB3aGlsZShvdmVyPG4pewogICAgCWNvdW50PTA7CiAgICAJZm9yKGk9b3ZlcjtpPG47aSsrKXsKICAgIAkJaWYoYXRbaV08PXRpbWUpCiAgICAJCWNvdW50Kys7CiAgICAJCWVsc2UKICAgIAkJYnJlYWs7CiAgICAJfQogICAgCWlmKGNvdW50PjEpewogICAgCQlmb3IoaT1vdmVyO2k8b3Zlcitjb3VudC0xO2krKyl7CiAgICAJCQlmb3Ioaj1pKzE7ajxvdmVyK2NvdW50O2orKyl7CiAgICAJCQlpZiAoYnRbaV0gPiBidFtqXSkgewogICAgICAgICAgICAgICAgLy8gU3dhcCBhcnJpdmFsIHRpbWVzCiAgICAgICAgICAgICAgICB0ZW1wID0gYXRbaV07CiAgICAgICAgICAgICAgICBhdFtpXSA9IGF0W2pdOwogICAgICAgICAgICAgICAgYXRbal0gPSB0ZW1wOwogCiAgICAgICAgICAgICAgICAvLyBTd2FwIGJ1cnN0IHRpbWVzCiAgICAgICAgICAgICAgIHRlbXAgPSBidFtpXTsKICAgICAgICAgICAgICAgIGJ0W2ldID0gYnRbal07CiAgICAgICAgICAgICAgICBidFtqXSA9IHRlbXA7CiAKICAgICAgICAgICAgICAgIC8vIFN3YXAgcHJvY2VzcyBJRHMKICAgICAgICAgICAgICAgIHRlbXAgPSBwW2ldOwogICAgICAgICAgICAgICAgcFtpXSA9IHBbal07CiAgICAgICAgICAgICAgICBwW2pdID0gdGVtcDsKICAgICAgICAgICAgfQogICAgICAgIH0JCiAgICAJCQl9CiAgICAJCX0KICAgIAlzdGFydD10aW1lOwogICAgCXRpbWUrPWJ0W292ZXJdOwogICAgCXByaW50ZigiXG5wWyVkXVx0ICVkXHQgJWRcdCAlZFx0ICVkXHQgJWRcdCAlZCIscFtvdmVyXSxhdFtvdmVyXSxidFtvdmVyXSxzdGFydCx0aW1lLHRpbWUtYXRbb3Zlcl0tYnRbb3Zlcl0sdGltZS1hdFtvdmVyXSk7CiAgICAJc3VtX3dhaXQrPXRpbWUtYXRbb3Zlcl0tYnRbb3Zlcl07CiAgICAJc3VtX3RhdCs9dGltZS1hdFtvdmVyXTsKICAgIAlvdmVyKys7CiAgICB9CiAgICBhdGF0PShmbG9hdClzdW1fdGF0L247CiAgICBhd3Q9KGZsb2F0KXN1bV93YWl0L247CiAKICAgIHByaW50ZigiXG5BdmVyYWdlIFR1cm5hcm91bmQgVGltZSA9ICUuMmYiLCBhdGF0KTsKICAgIHByaW50ZigiXG5BdmVyYWdlIFdhaXRpbmcgVGltZSA9ICUuMmZcbiIsIGF3dCk7CiAKICAgIHJldHVybiAwOwp9