You are on page 1of 1

#include <iostream>

#include <algorithm>
#include <stdio.h>
using namespace std;
struct p
{
string pro_id;
int artime,bt,ct,ta,wt;
};
bool compare(p p1,p p2)
{
return p1.artime<p2.artime;
}
int main()
{ p process[100];
int cpunon=0;
int n,i;
cout<<"Enter the number of process::";
cin>>n;
for(i=0;i<n;i++)
{
cout<<"Enter the pro_id arrival time and brust time of n processn";
cin>>process[i].pro_id;
cin>>process[i].artime;
cin>>process[i].bt;
}
sort(process,process+n,compare);
cpunon=process[0].artime-0;
process[0].ct=process[0].artime+process[0].bt;
process[0].ta=process[0].ct-process[0].artime;
process[0].wt=0;

for(i=1;i<n;i++)
{
if(process[i].artime<=process[i-1].ct)
{
process[i].ct=process[i-1].ct+process[i].bt;
process[i].ta=process[i].ct-process[i].artime;
process[i].wt=process[i].ta-process[i].bt;
}
else
{
process[i].ct=process[i].bt+process[i].artime;
process[i].ta=process[i].ct-process[i].artime;
process[i].wt=process[i].ta-process[i].bt;
cpunon+=process[i].artime-process[i-1].ct;
}
}
for(i=0;i<n;i++)
{
cout<<process[i].pro_id<<" "<<process[i].artime<<" "<<process[i].bt<<"
"<<process[i].ct<<" "<<process[i].ta<<" "<<process[i].wt;
cout<<endl;
}

return 0;
}

You might also like