Untitled

 avatar
Itiswhatitis
java
2 years ago
1.4 kB
0
Indexable
Never
void RR()
{

  int count, j, n, time, remain, flag = 0, time_quantum;
  int wait_time = 0, turnaround_time = 0, at[10], bt[10], rt[10];

  // Enter process here scanf("%d",&n);
  remain = n;
  for (count = 0; count < n; count++)
  {
    // printf("Enter Arrival Time and Burst Time for Process Process Number %d :",count+1);
    // scanf("%d",&at[count]);
    // scanf("%d",&bt[count]);
    rt[count] = bt[count];
  }
  // Enter quntam here scanf("%d",&time_quantum);
  // printf("\n\nProcess\t|Turnaround Time|Waiting Time\n\n");
  for (time = 0, count = 0; remain != 0;)
  {
    if (rt[count] <= time_quantum && rt[count] > 0)
    {
      time += rt[count];
      rt[count] = 0;
      flag = 1;
    }
    else if (rt[count] > 0)
    {
      rt[count] -= time_quantum;
      time += time_quantum;
    }
    if (rt[count] == 0 && flag == 1)
    {
      remain--;
      // printf("P[%d]\t|\t%d\t|\t%d\n",count+1,time-at[count],time-at[count]-bt[count]);
      //  WOrk Here wait_time+=time-at[count]-bt[count];
      //  Work Here turnaround_time+=time-at[count];
      flag = 0;
    }
    if (count == n - 1)
      count = 0;
    else if (at[count + 1] <= time)
      count++;
    else
      count = 0;
  }
  // printf("\nAverage Waiting Time= %f\n",wait_time*1.0/n);
  // printf("Avg Turnaround Time = %f",turnaround_time*1.0/n);

  return 0;
}