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

Need help writing this C++ code Write a code for a Round Robin simulator in C++

ID: 3794738 • Letter: N

Question

Need help writing this C++ code

Write a code for a Round Robin simulator in C++ and the libraries should be using either queues or Linked list for round robin. I need to read in an input similar to this:

And then print out something similar to this:

More details in the following image.

This assignment will introduce you to process scheduling. You are to simulate the execution of a stream of interactive processes by a time-shared system with a very large memory, NCORES processor and one disk drive. We will assume that each process can he described by its start time and a sequence of resource requests whose durations arc known a priori. Input Format: Your program should read its input from stdin (C++ cin) and use input redirection as in: $ assignmentl

Explanation / Answer

#include<iostream.h>
#include<conio.h>
struct process
{
int no;
int at,et,wt,tt;
int tet;
int t;
};

void main()
{
process p[99];
int i,j,k;
cout<<" Enter No of Processes:";
int np;
cin>>np;

for (i=0;i<np;i++)
{
cout<<" Enter Execution time of process"<<i+1<<":";
cin>>p[i].et;
p[i].tet=p[i].et;
p[i].at=p[i].t=p[i].tt=p[i].wt=0;
p[i].no=i+1;
}

cout<<" Enter Time Quantum:";
int q;
cin>>q;

cout<<" Entered Data";
cout<<" Process ET";
for(i=0;i<np;i++)
{
cout<<" "<<p[i].no<<" "<<p[i].et;
}

int totaltime=0;
for(i=0;i<np;i++)
{
totaltime+=p[i].et;
}

i=0;
k=0;

int rrg[99];
for(j=0;j<totaltime;j++)
{
if((k==0)&&(p[i].et!=0))
{
p[i].wt=j;
if((p[i].t!=0))
{
p[i].wt-=q*p[i].t;
}
}
if((p[i].et!=0)&&(k!=q))
{
rrg[j]=p[i].no;
p[i].et-=1;
k++;
}
else
{
if((k==q)&&(p[i].et!=0))
{
p[i].t+=1;
}
i=i+1;
if(i==np)
{
i=0;
}

k=0;
j=j-1;
}
}

/*
for(j=0;j<totaltime;j++)
{
cout<<" "<<rrg[j];
}
*/

int twt=0;
int ttt=0;
cout<<" Result Of Round Robin";
cout<<" PNo ET WT TT";
for(i=0;i<np;i++)
{
p[i].tt=p[i].wt+p[i].tet;
ttt+=p[i].tt;
twt+=p[i].wt;
cout<<" "<<p[i].no<<" "<<" "<<p[i].tet<<" "<<p[i].wt<<" "<<p[i].tt;
}

cout<<" Average Waiting Time:"<<(float)twt/np;
cout<<" Average Turn Around Time:"<<(float)ttt/np;

getch();
}

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