有5个打字机,1 ,2 号请求时间25us ,3,4 请求时间为150us ,5 号请求时间为800us,通道处理时间10us时间,输出时刻通道服务打字机。
<pre name="code" class="cpp">#include<iostream> using namespace std; const int t12=25;//1 2 打印机请求时间间隔25us const int t34=150;// 3 4 打印机请求时间间隔 150us const int t5=800;// 5 打印机请求时间间隔 800us int queue[6]={0};//服务队列 int f() { int i; bool flag=0; for(i=1;i<=5;i++) { if(queue[i]==1) { cout<<i<<","; flag=true; } } if(flag) cout<<"号打印机在请求队列中"; cout<<endl; } int main() { int time,i,j; int tt1=0,tt2=0,tt3=0,tt4=0,tt5=0;//1 2 3 4 5 号打印机初始请求的时间 //初始化 for(i=1;i<=5;i++) { queue[i]=1;//5个打印机进入请求队列 } for(time=10;time<=1000;time+=10) { if(queue[1]==0) { if(time>=tt1+t12) queue[1]=1; } if(queue[2]==0) { if(time>=tt2+t12) queue[2]=1; } if(queue[3]==0) { if(time>=tt3+t34) queue[3]=1; } if(queue[4]==0) { if(time>=tt4+t34) queue[4]=1; } if(queue[5]==0) { if(time>=tt5+t5) queue[5]=1; } if(queue[1]==1) { cout<<time<<"us时刻服务1号打印机 "; tt1=time; queue[1]=0; f(); continue; } if(queue[2]==1) { cout<<time<<"us时刻服务2号打印机 "; queue[2]=0; tt2=time; f(); continue; } if(queue[3]==1) { cout<<time<<"us时刻服务3号打印机 "; queue[3]=0; tt3=time; f(); continue; } if(queue[4]==1) { cout<<time<<"us时刻服务4号打印机 "; queue[4]=0; tt4=time; f(); continue; } if(queue[5]==1) { cout<<time<<"us时刻服务5号打印机 "; queue[5]=0; tt5=time; f(); continue; } } return 0; }
原文:http://blog.csdn.net/guanjungao/article/details/26506403