FCFS DYNAMIC
// FCFS
DYNAMIC
#include
<stdio.h>
int main() {
int n = 5;
int i, j;
int AT[5], BT
[5], CT[5], TAT [5], WT [5];
int total_TAT
= 0, total_WT = 0;
float avg
_TAT, avg_WT;
printf("Enter
Arrival Time and Burst Time for 5 processes: \n");
for ( i = 0 ;
i < n; i++) {
printf("Process
%d:\n", i + 1 ) ;
printf("Arrival
Time: ");
scanf("%d",
&AT[i]);
printf("Burst
Time: ");
scanf("%d",
&BT[i]);
}
for ( i = 0 ;
i<n-1; i++) {
for (j = i +
1) j<n; j++) {
if (AT[i]
> AT[j]) {
int temp
AT[i];
AT[i] =AT[J];
AT[j] = temp;
temp = BT[i];
BT[i] =
BT[j];
BT[j]= temp;
}}}
CT[0] = AT[0]
+ BT[0];
for (i=1; i
< n; i++) {
if (AT[i]
> CT[i - 1]) {
CT[i] = AT[i] + BT[i];
} else {
CT[i] = CT[i
- 1] + BT[i];
}}
for (i = 0 ;
i <n; i++) {
TAT [i]= CT[i]
-AT[i];
WT(i) = TAT(i)
– BT[i] ;
total_TAT +=
TAT[i];
total_WT +=
WT[i];
}
avg _TAT =(float)
total_TAT / n;
avg _WT =(float)total_WT/
n;
printf("\nProcess\tAT\tBT\tCT\tTAT\tWT\n");
for ( i = 0 ;
i<n; i++) {
printf("P%d\t%d\t%d\t%d\t%d\t%d\n",
i+1, AT[i], BT[i], CT[i], TAT [i], WT[i]); }
printf("\nAverage
Turnaround Time: %.2f\n", avg_TAT);
printf("Average
Waiting Time: %.2f\n", avg_WT);
return 0;}
Comments
Post a Comment