Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <queue>
- #include <fstream>
- using namespace std;
- int main()
- {
- queue<int> jobQueue;
- queue<int> jobNumber; //this queue just tracks the current job# ex. job 1, job2 etc
- int originalJobTimes[100];
- int jobTimes[100];
- int originalNumOfJobs = 0;
- int numOfJobsLeft = 0;
- ifstream inputstream;
- inputstream.open("input.txt"); //replace with argumentmanager file
- while(!inputstream.eof()){
- inputstream >> originalJobTimes[originalNumOfJobs];
- originalNumOfJobs++;
- }
- numOfJobsLeft = originalNumOfJobs;
- int TotalElapsedTime = 0;
- for (int i = 0; i < numOfJobsLeft; i++) {
- jobQueue.push(originalJobTimes[i]);
- jobNumber.push(i+1);
- }
- while (!jobQueue.empty()){
- if (jobQueue.front() == 2) {
- TotalElapsedTime += 2;
- jobTimes[jobNumber.front() - 1] = TotalElapsedTime - originalJobTimes[jobNumber.front() -1];
- jobQueue.pop();
- jobNumber.pop();
- }
- else if (jobQueue.front() == 1) {
- TotalElapsedTime += 1;
- jobTimes[jobNumber.front() - 1] = TotalElapsedTime - originalJobTimes[jobNumber.front() - 1];
- jobQueue.pop();
- jobNumber.pop();
- }
- else {
- TotalElapsedTime += 2;
- jobQueue.push(jobQueue.front() - 2);
- jobNumber.push(jobNumber.front());
- jobQueue.pop();
- jobNumber.pop();
- }
- }
- for (int i = 0; i < originalNumOfJobs; i++) {
- cout << "Job:" << i+1 << " " << jobTimes[i] << endl; //output to the file later
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement