t<<" 分配的序列:"; for(i=0;i<M;i++){// 输出运行进程数组 cout<<temp[i]; if(i<M-1) cout<<"->"; } cout<<endl; return 0; } void share()// 利用银行家算法对申请资源对进行判定{ char ch; int i=0,j=0; ch='y'; cout<<" 请输入要求分配的资源进程号(0-"<<M-1<<"):"; cin>>i;// 输入须申请的资源号 cout<<" 请输入进程"<<i<<" 申请的资源:"<<endl; for(j=0;j<N;j++) { cout<<name[j]<<":"; cin>>Request[j];// 输入需要申请的资源} for (j=0;j<N;j++){ if(Request[j]>Need[i][j])// 判断申请是否大于需求,若大于则出错{ cout<<" 进程"<<i<<" 申请的资源大于它需要的资源"; cout<<" 分配不合理,不予分配! "<<endl; ch='n'; break; } else { if(Request[j]>Avaliable[j])// 判断申请是否大于当前资源, 若大于则{ // 出错 cout<<" 进程"<<i<<" 申请的资源大于系统现在可利用的资源"; cout<<" 分配出错,不予分配!"<<endl; ch='n'; break; }}} if(ch=='y') { changdata(i);// 根据进程需求量变换资源 showdata();// 根据进程需求量显示变换后的资源 safe();// 根据进程需求量进行银行家算法判断}} void addresources(){// 添加资源 int n,flag; cout<<" 请输入需要添加资源种类的数量:"; cin>>n;