Guest User

Untitled

a guest
Jan 16th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.19 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. struct node {
  4.  
  5. int time_arr , arrivel , sertime, timeserbeg , timeQ , timesevend , timespend ;
  6. node(){}
  7. };
  8.  
  9. node seg[10000];
  10.  
  11. int main()
  12. {
  13. printf("\t\tSimulation of Single Queueing Systems\n\n");
  14. int t ;
  15. printf("Enter The Number of customer : ");
  16. scanf("%d" , &t);
  17. seg[1].time_arr = 0;
  18. printf("Enter The Arrival Times: ");
  19. for(int i = 2 ; i <= t ; ++i) scanf("%d" , &seg[i].time_arr);
  20. for(int i = 1 ; i <= t ; ++i) seg[i].arrivel = seg[i].time_arr;
  21. for(int i = 1 ; i <= t ; ++i) seg[i].arrivel += seg[i - 1].arrivel;
  22. printf("Enter The Service Times: ");
  23. for(int i = 1 ; i <= t ; ++i) scanf("%d" , &seg[i].sertime);
  24. seg[1].timeserbeg = seg[1].timeQ = 0;
  25. seg[1].timesevend = seg[1].timespend = seg[1].sertime;
  26. printf("\n\n");
  27. for(int i = 2 ; i <= t ; ++i)
  28. {
  29. if(seg[i].arrivel < seg[i - 1].timesevend)
  30. {
  31. seg[i].timeserbeg = seg[i - 1].timesevend;
  32. seg[i].timeQ = abs(seg[i].arrivel - seg[i - 1].timesevend);
  33. }
  34. else
  35. {;
  36. seg[i].timeserbeg = seg[i].arrivel;
  37. seg[i].timeQ = 0;
  38. }
  39. seg[i].timesevend = seg[i].timeserbeg + seg[i].sertime;
  40. seg[i].timespend = seg[i].timeQ + seg[i].sertime;
  41. }
  42. printf("Simulation Table:\n\n\n");
  43. printf("| C |TSLA | AT | ST | TSB | WTQ |TSE | STS | IT|");
  44. printf("\n---------------------------------------------------\n");
  45. for(int i = 1 ; i <= t ; ++i)
  46. {
  47. printf("|%3d | %3d | %3d | %3d | %3d | %3d |%3d | %3d |" , i , seg[i].time_arr , seg[i].arrivel ,
  48. seg[i].sertime,seg[i].timeserbeg , seg[i].timeQ , seg[i].timesevend , seg[i].timespend );
  49. if(seg[i].timeQ || i == 1) printf(" 0|\n");
  50. else printf("%3d|\n" , abs( seg[i].timeserbeg - seg[i - 1].timesevend) );
  51. }
  52. printf("---------------------------------------------------\n");
  53. double countST=0,countWQ=0;
  54. for(int i = 1 ; i <= t ; ++i){
  55. countWQ= countWQ+seg[i].timeQ;
  56. countST= countST+ seg[i].sertime;
  57.  
  58. }
  59.  
  60. printf("\n\nAvarage Waiting Time:%0.3lf",countWQ/(t-1));
  61. printf("\nAvarage service Time:%0.3lf\n\n",countST/(t-1));
  62.  
  63.  
  64.  
  65.  
  66. return 0;
  67.  
  68. }
Add Comment
Please, Sign In to add comment