Advertisement
Guest User

Untitled

a guest
Mar 21st, 2019
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. #include <iostream>
  2. #include <queue>
  3. #include <fstream>
  4. using namespace std;
  5.  
  6.  
  7.  
  8. int main()
  9. {
  10.  
  11. queue<int> jobQueue;
  12. queue<int> jobNumber; //this queue just tracks the current job# ex. job 1, job2 etc
  13.  
  14. int originalJobTimes[100];
  15. int jobTimes[100];
  16. int originalNumOfJobs = 0;
  17. int numOfJobsLeft = 0;
  18. ifstream inputstream;
  19. inputstream.open("input.txt"); //replace with argumentmanager file
  20. while(!inputstream.eof()){
  21. inputstream >> originalJobTimes[originalNumOfJobs];
  22. originalNumOfJobs++;
  23. }
  24. numOfJobsLeft = originalNumOfJobs;
  25.  
  26. int TotalElapsedTime = 0;
  27.  
  28. for (int i = 0; i < numOfJobsLeft; i++) {
  29. jobQueue.push(originalJobTimes[i]);
  30. jobNumber.push(i+1);
  31. }
  32.  
  33. while (!jobQueue.empty()){
  34.  
  35. if (jobQueue.front() == 2) {
  36. TotalElapsedTime += 2;
  37. jobTimes[jobNumber.front() - 1] = TotalElapsedTime - originalJobTimes[jobNumber.front() -1];
  38. jobQueue.pop();
  39. jobNumber.pop();
  40.  
  41. }
  42. else if (jobQueue.front() == 1) {
  43. TotalElapsedTime += 1;
  44. jobTimes[jobNumber.front() - 1] = TotalElapsedTime - originalJobTimes[jobNumber.front() - 1];
  45. jobQueue.pop();
  46. jobNumber.pop();
  47.  
  48. }
  49. else {
  50. TotalElapsedTime += 2;
  51. jobQueue.push(jobQueue.front() - 2);
  52. jobNumber.push(jobNumber.front());
  53. jobQueue.pop();
  54. jobNumber.pop();
  55.  
  56. }
  57. }
  58.  
  59. for (int i = 0; i < originalNumOfJobs; i++) {
  60. cout << "Job:" << i+1 << " " << jobTimes[i] << endl; //output to the file later
  61. }
  62.  
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement