1、#include#include#include#define False 0#define True 1using namespace std;int Max100100=0;/各进程所需各类资源的最大需求int Avaliable100=0;/系 统可用资源char name100=0;/资源的名称int Allocation100100=0;/系统已分配资源int Need100100=0;/还 需要资源int Request100=0;/请求 资源向量int temp100=0;/存放安全序列int Work100=0;/存放系统可提供资源int M=100;/作 业的最大数为100i
2、nt N=100;/资 源的最大数为100void showdata()/显示资源矩 阵int i,j;cout“;couti;/输入须申请的资源号coutRequestj;/输入需要申 请的资源for (j=0;jNeedij)/判断申请是否大于需求,若大于则出错 coutAvaliablej)/判断申请是否大于当前 资源,若大于则 /出错coutn;flag=N;N=N+n;for(int i=0;inameflag;coutAvaliableflag+;showdata();safe();void delresources()/删除资源char ming;int i,flag=1;cou
3、tming;for(i=0;iAvaliable0Avaliable1Avaliable2;coutMaxflagi;Needflagi=Maxflagi-Allocationflagi;showdata();safe();int main()/主函数int i,j,number,choice,m,n,flag;char ming;coutn;N=n;for(i=0;iming;namei=ming;coutnumber;Avaliablei=number;coutm;M=m;coutMaxij;doflag=0;coutAllocationij;if(AllocationijMaxij)flag=1;Needij=Maxij-Allocationij;if(flag)coutchoice;switch(choice)case 1: addresources();break;case 2: delresources();break;case 3: changeresources();break;case 4: share();break;case 5: addprocess();break;case 0: choice=0;break;default: cout“请正确选择功能号(0-5)!“endl;break;return 1;