fork download
  1. #include<stdio.h>
  2. int main()
  3. {
  4. int i, limit, total = 0, x, counter = 0, time_quantum;
  5. int wait_time = 0, turnaround_time = 0, arrival_time[10], burst_time[10], temp[10];
  6. float average_wait_time, average_turnaround_time;
  7. printf("\nEnter Total Number of Processes:\t");
  8. scanf("%d", &limit);
  9. x = limit;
  10. for(i = 0; i < limit; i++)
  11. {
  12. printf("\nEnter Details of Process[%d]\n", i + 1);
  13. printf("Arrival Time:\t");
  14. scanf("%d", &arrival_time[i]);
  15. printf("Burst Time:\t");
  16. scanf("%d", &burst_time[i]);
  17. temp[i] = burst_time[i];
  18. }
  19. printf("\nEnter Time Quantum:\t");
  20. scanf("%d", &time_quantum);
  21. printf("\nProcess ID\t\t|arrival Time\t|Burst Time\t|Turnaround Time\t|Waiting Time\n");
  22. printf(".............................................................................");
  23. for(total = 0, i = 0; x != 0;)
  24. {
  25. if(temp[i] <= time_quantum && temp[i] > 0)
  26. {
  27. total = total + temp[i];
  28. temp[i] = 0;
  29. counter = 1;
  30. }
  31. else if(temp[i] > 0)
  32. {
  33. temp[i] = temp[i] - time_quantum;
  34. total = total + time_quantum;
  35. }
  36. if(temp[i] == 0 && counter == 1)
  37. {
  38. x--;
  39. printf("\nProcess[%d]\t\t|%d\t\t|%d\t\t|%d\t\t\t|%d", i + 1,arrival_time[i], burst_time[i], total - arrival_time[i], total - arrival_time[i] - burst_time[i]);
  40. wait_time = wait_time + total - arrival_time[i] - burst_time[i];
  41. turnaround_time = turnaround_time + total - arrival_time[i];
  42. counter = 0;
  43. }
  44. if(i == limit - 1)
  45. {
  46. i = 0;
  47. }
  48. else if(arrival_time[i + 1] <= total)
  49. {
  50. i++;
  51. }
  52. else
  53. {
  54. i = 0;
  55. }
  56. }
  57. average_wait_time = wait_time * 1.0 / limit;
  58. average_turnaround_time = turnaround_time * 1.0 / limit;
  59. printf("\n\nAverage Waiting Time:\t%f", average_wait_time);
  60. printf("\nAvg Turnaround Time:\t%f\n", average_turnaround_time);
  61. return 0;
  62.  
  63. }
Success #stdin #stdout 0s 5304KB
stdin
Standard input is empty
stdout
Enter Total Number of Processes:	
Enter Time Quantum:	
Process ID		|arrival Time	|Burst Time	|Turnaround Time	|Waiting Time
.............................................................................

Average Waiting Time:	-nan
Avg Turnaround Time:	-nan