// Priority Based Scheduling Algorithm.
#include<iostream>
using namespace std;
struct process
{
int pno[10];
int p[10];
int bt[10];
}p;
int main()
{
int i,n,wt[10];
int twt=0;
float avg;
cout<<"Enter No of Processes: ";
cin>>n;
for(i=0;i<n;i++)
{
cout<<" Enter Process no,Priority and Brust time :";
cin>>p.pno[i]>>p.p[i]>>p.bt[i];
}
for(i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
if(p.p[i]>p.p[j])
{
int temp=p.p[j];
p.p[j]=p.p[i];
p.p[i]=temp;
temp=p.bt[j];
p.bt[j]=p.bt[i];
p.bt[i]=temp;
temp=p.pno[j];
p.pno[j]=p.pno[i];
p.pno[i]=temp;
}
}
}
wt[0]=0;
for(i=1;i<n;i++)
{
wt[i]=wt[i-1]+p.bt[i-1];
twt+=wt[i];
}
cout<<"P_NO\tPriority\tB_Time\tW_time\n";
for(i=0;i<n;i++)
{
cout<<p.pno[i]<<"\t"<<p.p[i]<<"\t"<<p.bt[i]<<"\t"<<wt[i]<<endl;
}
avg=twt/(float) n;
cout<<"Total waiting Time="<<twt<<endl;
cout<<"Average Waiting Time="<<avg;
return 0;
}
#include<iostream>
using namespace std;
struct process
{
int pno[10];
int p[10];
int bt[10];
}p;
int main()
{
int i,n,wt[10];
int twt=0;
float avg;
cout<<"Enter No of Processes: ";
cin>>n;
for(i=0;i<n;i++)
{
cout<<" Enter Process no,Priority and Brust time :";
cin>>p.pno[i]>>p.p[i]>>p.bt[i];
}
for(i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
if(p.p[i]>p.p[j])
{
int temp=p.p[j];
p.p[j]=p.p[i];
p.p[i]=temp;
temp=p.bt[j];
p.bt[j]=p.bt[i];
p.bt[i]=temp;
temp=p.pno[j];
p.pno[j]=p.pno[i];
p.pno[i]=temp;
}
}
}
wt[0]=0;
for(i=1;i<n;i++)
{
wt[i]=wt[i-1]+p.bt[i-1];
twt+=wt[i];
}
cout<<"P_NO\tPriority\tB_Time\tW_time\n";
for(i=0;i<n;i++)
{
cout<<p.pno[i]<<"\t"<<p.p[i]<<"\t"<<p.bt[i]<<"\t"<<wt[i]<<endl;
}
avg=twt/(float) n;
cout<<"Total waiting Time="<<twt<<endl;
cout<<"Average Waiting Time="<<avg;
return 0;
}
No comments:
Post a Comment