Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Node1: 6 5 add to queue at counter 0 Node2: 7 4 add to queue counter 4 Node3: 18

ID: 3533355 • Letter: N

Question

Node1: 6     5    add to queue at counter 0

Node2: 7    4    add to queue counter 4         

Node3: 18   6    add to queue counter 8

Node4: 23     3 add to queue counter 12

Node5: 27    5 add to queue counter 16

Node 1 gets queued at counter 0, once counter is at 6 it moves into processing, at this point it stays in processing for 5 counts. At the same time when counter has reached 4 node 2 gets queued.

The goal is to add nodes to queues, move from queue to processing and if something is in the process check if it is finished.

THe program shoud keep adding to the queue at the set intercal 0,4,812,12...but only move to the processing variable if the first has completed.

#include <iostream>

?

#include <fstream>

using namespace std;

?

const int maxqueue = 7;

struct queuetype

{

int start[maxqueue];

int process [maxqueue];

int front;

int back;

};

void createqueue(queuetype &queue);

bool fullqueue(queuetype queue);

bool emptyqueue(queuetype queue);

void enqueue(queuetype &queue, int &starting , int &processing);

void dequeue(queuetype &queue, int &starting , int &processing);

int main()

{

ifstream inputfile;

inputfile.open("nums.txt");

if (!inputfile)

{

cout<<"The input file could not be opened"<<endl;

system ("PAUSE");

return 1;

}

queuetype standard;

int starting, processing;

createqueue(standard);

starting;

int counter=0;

int machine;

int processTime;

while (counter <100)

{

while (!(inputfile.eof()) && (!(fullqueue(standard))))

{

if (counter==0)

{

inputfile>>starting;

inputfile>>processing;

enqueue(standard, starting, processing);

processTime = starting+processing;

}

if (counter=starting)

{

dequeue(standard, starting, processing);

machine=processTime;

cout<<starting<<endl;

}

if (counter=counter+4)

{

inputfile>>starting;

inputfile>>processing;

enqueue(standard, starting, processing);

processTime=starting+processing;

}

?

counter++;

}

}

?

?

cin.get();

cin.ignore();

//system("pause");

}

void createqueue(queuetype &queue)

{

queue.front = maxqueue - 1;

queue.back = maxqueue - 1;

}

bool fullqueue(queuetype queue)

{

if(queue.front == (queue.back +1) % maxqueue ) return 1;

else return 0;

}

void enqueue(queuetype &queue, int &starting , int &processing)

{

queue.back = (queue.back + 1) % maxqueue;

queue.start[queue.back] = starting;

queue.process[queue.back] = processing;

}

bool emptyqueue(queuetype queue)

{

if(queue.front == queue.back) return 1;

else return 0;

}

void dequeue(queuetype &queue, int &starting , int &processing)

{

queue.front = (queue.front +1) % maxqueue;

starting = queue.start[queue.front];

processing = queue.process[queue.front];

}

Explanation / Answer

#include ? #include using namespace std; ? const int maxqueue = 8; struct queuetype { int start[maxqueue]; int process [maxqueue]; int front; int back; }; void createqueue(queuetype &queue); bool fullqueue(queuetype queue); bool emptyqueue(queuetype queue); void enqueue(queuetype &queue, int &starting , int &processing); void dequeue(queuetype &queue, int &starting , int &processing); int main() { ifstream inputfile; inputfile.open("nums.txt"); if (inputfile) } { coutprocessing; enqueue(standard, starting, processing); } if (counter==starting) { machine=processing; } if (counter==5) { inputfile>>starting; inputfile>>processing; enqueue(standard, starting, processing); } while(!(emptyqueue(standard))) { dequeue(standard, starting, processing); cout
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote