Advertisement
Sajib_Ahmed

Untitled

Dec 4th, 2020
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. #include<stdio.h>
  2.  
  3. int main()
  4. {
  5. int n,i;
  6. printf("How many process you want :\n");
  7. scanf("%d",&n);
  8. int ArrivalTime[n], BurstTime[n],P[n];
  9. for(i=0; i<n ; i++)
  10. {
  11. printf("Enter arrival Time: ");
  12. scanf("%d",&ArrivalTime[i]);
  13. printf("\n Enter Burst Time : ");
  14. scanf("%d",&BurstTime[i]);
  15. printf("\n");
  16. P[i]=i;
  17. }
  18. int tempA,tempB,tempP,j;
  19. for (i=0; i<n; i++)
  20. {
  21. for(j=0;j<n;j++)
  22. if(ArrivalTime[i]< ArrivalTime[j])
  23. {
  24. tempA= ArrivalTime[i];
  25. ArrivalTime[i]=ArrivalTime[j];
  26. ArrivalTime[j]=tempA;
  27. tempB= BurstTime[i];
  28. BurstTime[i]=BurstTime[j];
  29. BurstTime[j]=tempB;
  30. tempP=P[i];
  31. P[i]=P[j];
  32. P[j]=tempP;
  33. }
  34. }
  35. int TNT[n],WT[n],CM[n],AT[n];
  36. for (i=0; i<n; i++)
  37. {
  38. CM[i]=BurstTime[i];
  39. AT[i]=ArrivalTime[i];
  40. }
  41. printf("\n");
  42.  
  43. for (i=0; i<n; i++)
  44. {
  45. if((CM[i])>=(AT[i+1]))
  46. {
  47.  
  48. CM[i+1]+=CM[i];
  49. }
  50.  
  51. else{
  52. int b=0;
  53. b=AT[i+1]-CM[i];
  54. CM[i+1]+=b;
  55. CM[i+1]+=CM[i];
  56. }
  57.  
  58.  
  59.  
  60.  
  61.  
  62. }
  63. int XTNT=0;
  64. int XWT=0;
  65.  
  66. for (i=0; i<n; i++)
  67. {
  68. TNT[i]=CM[i] - ArrivalTime[i];
  69. XTNT+=TNT[i];
  70. WT[i]=TNT[i] - BurstTime[i];
  71. XWT+=WT[i];
  72. }
  73. float avgTNT, avgWT;
  74. avgTNT=XTNT/n;
  75. avgWT=XWT/n;
  76.  
  77. printf("Gantt Chart : \n");
  78. for(i=0; i<n; i++)
  79. {
  80. printf("--------");
  81. }
  82. printf("\n");
  83. for (i=0; i<n; i++)
  84. {
  85. printf("P %d |",P[i]);
  86. }
  87. printf("\n");
  88. for(i=0; i<n; i++)
  89. {
  90. printf("--------");
  91. }
  92. printf("\n");
  93. for (i=0; i<n; i++)
  94. {
  95. printf("%d |",CM[i]);
  96.  
  97. }
  98. printf("\n");
  99. for(i=0; i<n; i++)
  100. {
  101. printf("--------");
  102. }
  103. printf("\n");
  104.  
  105. for(i=0; i<n; i++)
  106. {
  107. printf("Waiting time: %d and TNT : %d \n",WT[i],TNT[i]);
  108. }
  109. printf("Average Waiting Time: %.2lf\n",avgWT);
  110. printf("Average TNT: %.2lf\n",avgTNT);
  111. }
  112.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement