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: $ assignmentlExplanation / 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();
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.