PDA

View Full Version : سوال: زمان بندی srt یا sjfp



giootin_tiz
جمعه 03 دی 1389, 14:42 عصر
من برنامه زمان بندی سی پی یو رو نوشتم اما یه ارور میده که نمیدونم چیه؟؟



#include<iostream.h>
#include<conio.h>
#include<stdio.h>




{
long int i;
cout<<"Enter the no of processes:";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"Enter The BurstTime for Process p"<<i<<"= ";
cin>>Bu[i];
}
}
void main()
{
int i,j,m,Wt[10],k,B[10],A[10],Tt=0,Wtm[10],temp;
char S[20],start[20];
int max=0,Time=0,min;
float Twt=0.0,Awt;
for(i=1;i<=n;i++)
{
B[i]=Bu[i];
cout<<"Burst time for process P"<<i<<"= "<<B[i];
if(B[i]>max)
max=B[i];
Wt[i]=0;
S[i]='T';
start[i]='F';
Tt=Tt+B[i];
cout<<"Enter the Arrival Time for"<<i<<"th process= ";
cin>>A[i];
if(A[i]>Time)
Time=A[i];
}
//cout<<"Max="<<max;
int w=0,flag=0,t=0;
i=1;
while(t<Time)
{
if(A[i]<=t && B[i]!=0)
{
if(flag==0)
{
Wt[i]=Wt[i]+w;
cout<<"Wt["<<i<<"]="<<Wt[i];
}
B[i]=B[i]-1;
if(B[i]==0)
S[i]='F';
start[i]='T';
t++;
w=w+1;
if(S[i]!='F')
{
j=1;flag=1;
while(j<=n && flag!=0)
{
if(S[j]!='F' && B[i]>B[j] && A[j]<=t && i!=j )
{
flag=0;
Wt[i]=Wt[i]-w;
i=j;
}
else
{
flag=1;
}
j++;
}
}
else
{
i++;
j=1;
while(A[j]<=t &&j<=n)
{
if(B[i]>B[j] && S[j]!='F')
{
flag=0;
i=j;
}
j++;
}
}
}
else
if(flag==0)
i++;
}


cout<<"Printing remaining burst time";
for(i=1;i<=n;i++)
cout<<"B["<<i<<"]="<<B[i];
cout<<"";

while(w<Tt)
{
min=max+1;
i=1;
while(i<=n)
{
if(min>B[i] && S[i]=='T')
{
min=B[i];
j=i;
}
i++;
}
i=j;
if(w==Time && start[i]=='T')
{
w=w+B[i];
S[i]='F';
}
else
{
Wt[i]=Wt[i]+w;
w=w+B[i];
S[i]='F';
}
}

cout<<"Weight info";

for(i=1;i<=n;i++)
cout<<"WT["<<i<<"]="<<Wt[i];
cout<<"after subtracting arrival time";
for(i=1;i<=n;i++)
{
Wt[i]=Wt[i]-A[i];
cout<<"WT["<<i<<"]="<<Wt[i];
}
//Calculating Average Weighting time
for(i=1;i<=n;i++)
Twt=Twt+Wt[i];
Awt=Twt/n;
cout<<"Average Weighting Time="<<Awt;



}

mhbm87
یک شنبه 05 دی 1389, 16:10 عصر
اون چند خط قبل از تابع main چیه؟

giootin_tiz
دوشنبه 06 دی 1389, 09:51 صبح
اون چند خط قبل از تابع main چیه؟
اونا ورودی ها هستند ورودی که کاربر وارد میکنه