#include <stdio.h>
int main() {
int n, i, j, temp;
int bt[20], wt[20], tat[20], p[20];
float avgwt = 0, avgtat = 0;
printf("Enter number of processes: ");
scanf("%d", &n);
printf("Enter burst times:\n");
for (i = 0; i < n; i++) {
scanf("%d", &bt[i]);
p[i] = i + 1;
}
// Sort processes by burst time
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (bt[j] > bt[j + 1]) {
temp = bt[j];
bt[j] = bt[j + 1];
bt[j + 1] = temp;
temp = p[j];
p[j] = p[j + 1];
p[j + 1] = temp;
}
}
}
wt[0] = 0;
for (i = 1; i < n; i++) {
wt[i] = wt[i - 1] + bt[i - 1];
}
for (i = 0; i < n; i++) {
tat[i] = wt[i] + bt[i];
avgwt += wt[i];
avgtat += tat[i];
}
printf("\nProcess\tBT\tWT\tTAT\n");
for (i = 0; i < n; i++) {
printf("P%d\t%d\t%d\t%d\n",
p[i], bt[i], wt[i], tat[i]);
}
printf("\nAverage Waiting Time = %.2f", avgwt / n);
printf("\nAverage Turnaround Time = %.2f\n", avgtat / n);
return 0;
}4 views