#include int main() { int sum, two, ace, t, left_over, flag = 0, timeQuantum; int waitT = 0, turnAroundT = 0; int a[10], x[10], burst[10]; printf("\nEnter the number of processes: "); scanf("%d",&ace); left_over = ace; for(sum = 0; sum < ace; sum++){ printf("Enter arrival & burst time for process %d: ",sum+1); scanf("%d", &a[sum]); scanf("%d", &x[sum]); b[sum] = x[sum]; } printf("\nEnter time quantum: "); scanf("%d", &timeQuantum); printf("\nProcess\tturn around time\twaiting time\n"); for(t = 0,sum = 0; left_over != 0; sum++){ if(b[sum] <= timeQuantum && b[sum] > 0) { t += b[sum]; b[sum] = 0; flag = 1; } else if (b[sum] > 0) { b[sum] = b[sum] - timeQuantum; t += timeQuantum; } if(b[sum] == 0 && flag == 1) { left_over--; printf("p[%d]\t\t%d\t\t%d\n", sum+1, t-a[sum], t - a[sum] - x[sum]); waitT += t - a[sum] - x[sum]; turnAroundT += t - a[sum]; flag = 0; } if(sum == ace-1) sum = 0; else if(a[sum+1] <= t) sum++; else sum = 0; } printf("\nWaiting time average = %f", waitT * 1.0); printf("\nTurn around time average = %f\n", turnAroundT * 1.0); return 0; }
Could someone help describe what this program is doing please im quite stuck , thanks
#include<stdio.h>
int main()
{
int sum, two, ace, t, left_over, flag = 0, timeQuantum;
int waitT = 0, turnAroundT = 0;
int a[10], x[10], burst[10];
printf("\nEnter the number of processes: ");
scanf("%d",&ace);
left_over = ace;
for(sum = 0; sum < ace; sum++){
printf("Enter arrival & burst time for process %d: ",sum+1);
scanf("%d", &a[sum]);
scanf("%d", &x[sum]);
b[sum] = x[sum];
}
printf("\nEnter time quantum: ");
scanf("%d", &timeQuantum);
printf("\nProcess\tturn around time\twaiting time\n");
for(t = 0,sum = 0; left_over != 0; sum++){
if(b[sum] <= timeQuantum && b[sum] > 0)
{
t += b[sum];
b[sum] = 0;
flag = 1;
}
else if (b[sum] > 0)
{
b[sum] = b[sum] - timeQuantum;
t += timeQuantum;
}
if(b[sum] == 0 && flag == 1)
{
left_over--;
printf("p[%d]\t\t%d\t\t%d\n", sum+1, t-a[sum], t - a[sum] - x[sum]);
waitT += t - a[sum] - x[sum];
turnAroundT += t - a[sum];
flag = 0;
}
if(sum == ace-1)
sum = 0;
else if(a[sum+1] <= t)
sum++;
else
sum = 0;
}
printf("\nWaiting time average = %f", waitT * 1.0);
printf("\nTurn around time average = %f\n", turnAroundT * 1.0);
return 0;
}
Step by step
Solved in 2 steps with 1 images