Advertisement
Guest User

Untitled

a guest
Feb 25th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. //Shortest job first
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. struct process {
  6. int bt , art , wt;
  7. } p[20];
  8.  
  9. int n;
  10. int ans[2][20];
  11. int main () {
  12. scanf("%d", &n);
  13. for (int i = 1; i <= n; ++ i) { arbt
  14. printf("Burst time and arrival time of process number %d\n" , i);
  15. scanf("%d%d",&p[i].bt , &p[i].art);
  16. ans[0][i]=p[i].bt;
  17. ans[1][i]=p[i].art;
  18. }
  19. int t=0;
  20. int cnt=0;
  21. int s=0;
  22. p[0].bt=10000;
  23. p[0].art=10000;
  24. while(cnt<n){
  25. int mini=0;
  26. int done=0;
  27. for(int i=1 ; i<=n ; ++i){
  28. if(p[i].art<=t && p[i].bt<=p[mini].bt){
  29. mini=i;
  30. done=1;
  31. }
  32. }
  33. if(done==0){
  34. t++;
  35. continue;
  36. }
  37. cnt++;
  38. t+=p[mini].bt;
  39. p[mini].wt=t-p[mini].bt-p[mini].art;
  40. s+=p[mini].wt;
  41. p[mini].bt=11111;
  42. //printf("%d\n" , mini);
  43. }
  44. double AT=(double)s;
  45. printf("\nAverage Waiting Time:%f\n", AT / n);
  46. for (int i = 1; i <= n; ++ i) {
  47. printf ("Process: %d -> Works: %d, Waits: %d, All: %d\n", i, ans[0][i], p[i].wt, ans[0][i] + p[i].wt);
  48. }
  49.  
  50. return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement