Advertisement
Guest User

Untitled

a guest
May 22nd, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1.  
  2. void *departCart()
  3. {
  4. while(1)
  5. {
  6.  
  7. //determine groupsizes
  8. sleep(5);
  9. int posArray[4];
  10. int groupsize1 = (rand() % (MAX_GROUPSIZE + 1 - MIN_GROUPSIZE)) + MIN_GROUPSIZE;
  11. int groupsize2 = (rand() % (MAX_GROUPSIZE + 1 - MIN_GROUPSIZE)) + MIN_GROUPSIZE;
  12. int groupsize3 = (rand() % (MAX_GROUPSIZE + 1 - MIN_GROUPSIZE)) + MIN_GROUPSIZE;
  13. if(groupsize1 + groupsize2 + groupsize3 == CART_SIZE)
  14. {
  15. sem_wait(&groupQueue);
  16. sem_wait(&groupQueue);
  17. sem_wait(&groupQueue);
  18. printf("\nCART DEPARTED WITH 3 GROUPS:\t%d,%d,%d\n",groupsize1,groupsize2,groupsize3);
  19. }else
  20. {
  21. if (groupsize1 + groupsize2 == CART_SIZE)
  22. {
  23. sem_wait(&groupQueue);
  24. sem_wait(&groupQueue);
  25. printf("\nCART DEPARTED WITH 2 GROUPS:\t%d,%d\n",groupsize1,groupsize2);
  26. } else
  27. {
  28. if (groupsize1 + groupsize2 == CART_SIZE - 1)
  29. {
  30. sem_wait(&groupQueue);
  31. sem_wait(&groupQueue);
  32. sem_wait(&singleQueue);
  33. printf("\nCART DEPARTED WITH 2 GROUPS:\t%d,%d AND 1 SINGLE RIDER\n",groupsize1,groupsize2);
  34. }
  35. }
  36. }
  37. }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement