Advertisement
Guest User

Untitled

a guest
Feb 25th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. //First come first served
  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.  
  11. int main(){
  12. scanf("%d" , &n);
  13. for(int i=1 ; i<=n ; ++i){
  14. printf("Burst time and arrival time of process number %d\n" , i);
  15. scanf("%d%d" , &p[i].bt , &p[i].art);
  16. }
  17. p[0].bt=11111;
  18. p[0].art=11111;
  19. int cnt=0;
  20. int t=0;
  21. int s=0;
  22. while(cnt<n){
  23. int mini=0;
  24. int done=0;
  25. for(int i=1 ; i<=n ; ++i){
  26. if(p[i].art<=t && p[i].art<p[mini].art){
  27. mini=i;
  28. done=1;
  29. }
  30. }
  31. if(done==0){
  32. t++;
  33. continue;
  34. }
  35. cnt++;
  36. t+=p[mini].bt;
  37. p[mini].wt=t-p[mini].bt-p[mini].art;
  38. printf("%d %d %d\n" , t , p[mini].bt , p[mini].art);
  39. s+=p[mini].wt;
  40. p[mini].art=11111;
  41. }
  42. double AT=(double)s/(double)n;
  43. printf("Average waiting time is %f\n" , AT);
  44. for(int i=1 ; i<=n ; ++i){
  45. printf("Process %d -> Works: %d , Waits: %d , All: %d\n" , i , p[i].bt , p[i].wt , p[i].bt+p[i].wt);
  46. }
  47. return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement