Guest User

Untitled

a guest
Jun 18th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1.  
  2. #include<stdio.h>
  3. #include<conio.h>
  4.  
  5. int z[10],b[10],n,m[50],r,q,e=0,avg=0,i,j;
  6. float f;
  7.  
  8. main()
  9. {
  10. clrscr();
  11. printf("\n\tJOB SCHEDULING ALGORITHM[RR]");
  12. printf("\n\t*******************************************************\n");
  13. printf("\nEnter how many jobs:");
  14. scanf("%d",&n);
  15. printf("\nEnter burst time for corresponding job...\n");
  16. for(i=1;i<=n;i++)
  17. {
  18. printf("\nProcess %d: ",i);
  19. scanf("%d",&b[i]); z[i]=b[i];
  20. }
  21.  
  22. printf("\nENTER THE TIME SLICE VALUE:");
  23. scanf("%d",&q);
  24.  
  25. rr();
  26.  
  27. average();
  28.  
  29. getch();
  30. return 0;
  31. }
  32.  
  33.  
  34.  
  35.  
  36. rr()
  37. {
  38. int max=0;
  39. max=b[1];
  40. for(j=1;j<=n;j++)
  41. if(max<=b[j])
  42. max=b[j];
  43.  
  44. if((max%q)==0)
  45. r=(max/q);
  46. else
  47. r=(max/q)+1;
  48. for(i=1;i<=r;i++)
  49. {
  50. printf("\nround %d",i);
  51. for(j=1;j<=n;j++)
  52. {
  53. if(b[j]>0)
  54. {
  55. b[j]=b[j]-q;
  56.  
  57. if(b[j]<=0)
  58. {
  59. b[j]=0;
  60. printf("\nprocess %d is completed",j);
  61. }
  62. else
  63. printf("\nprocess %d remaining time is %d",j,b[j]);
  64. }
  65. }
  66. delay(1000);
  67. }
  68. return 0;
  69. }
  70.  
  71.  
  72.  
  73.  
  74.  
  75. average()
  76. {
  77. for(i=1;i<=n;i++)
  78. {
  79. e=0;
  80. for(j=1;j<=r;j++)
  81. {
  82. if(z[i]!=0)
  83. {
  84. if(z[i]>=q)
  85. {
  86. m[i+e]=q; z[i]-=q;
  87. }
  88. else
  89. {
  90. m[i+e]=z[i]; z[i]=0;
  91. }
  92. }
  93. else
  94. m[i+e]=0;
  95. e=e+n;
  96. }
  97. }
  98. for(i=2;i<=n;i++)
  99. for(j=1;j<=i-1;j++)
  100. avg=avg+m[j];
  101. for(i=n+1;i<=r*n;i++)
  102. {
  103. if(m[i]!=0)
  104. {
  105. for(j=i-(n-1);j<=i-1;j++)
  106. avg=m[j]+avg;
  107. }
  108. }
  109. f=avg/n;
  110. printf("\nTOTAL WATING:%d",avg);
  111. printf("\n\nAVERAGE WAITING TIME:%f\n",f);
  112. for(i=1;i<=r*n;i++)
  113. { if(m[i]!=0)
  114. if(i%n==0){
  115. printf("P%d",(i%n)+(n)); }
  116.  
  117.  
  118. else
  119. printf("P%d",(i%n));
  120. for(j=1;j<=m[i];j++)
  121. printf("%c",22);
  122. }
  123. printf("\n");
  124. getch();
  125. return 0;
  126. }
Add Comment
Please, Sign In to add comment