c语言实现银行家算法.docx

c语言实现银行家算法.docx

ID:61760861

大小:16.92 KB

页数:5页

时间:2021-03-19

c语言实现银行家算法.docx_第1页
c语言实现银行家算法.docx_第2页
c语言实现银行家算法.docx_第3页
c语言实现银行家算法.docx_第4页
c语言实现银行家算法.docx_第5页
资源描述:

《c语言实现银行家算法.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include#include#include#definem50intno1;//进程数intno2;//资源数intr;intallocation[m][m],need[m][m],available[m],max[m][m];charname1[m],name2[m];//定义全局变量voidmain(){voidcheck();voidprint();inti,j,p=0,q=0;charc;intrequest[m],allocation1[m][m],need1

2、[m][m],available1[m];printf("**********************************************");printf("*银行家算法的设计与实现*");printf("**********************************************");printf("请输入进程总数:");scanf("%d",&no1);printf("请输入资源种类数:");scanf("%d",&no2);printf("请输入Max矩阵:");for(

3、i=0;i

4、出need矩阵的值printf("请输入Available矩阵");for(i=0;i=no1){printf("输入错误,请重新输入:");c

5、ontinue;}elsebreak;}printf("请输入该进程所请求的资源数request[j]:");for(j=0;jneed[i][j])p=1;//判断请求是否超过该进程所需要的资源数if(p)printf("请求资源超过该进程资源需求量,请求失败!");else{for(j=0;javailable[j])q=1;//判断请求是否

6、超过可用资源数if(q)printf("没有做够的资源分配,请求失败!");else//请求满足条件{for(j=0;j

7、[j]-request[j];//系统尝试把资源分配给请求的进程}print();check();//检测分配后的安全性if(r==0)//如果分配后系统不安全{for(j=0;j

8、");//判断是否继续进行资源分配c=getche();}while(c=='y'

9、

10、c=='Y');}}voidcheck()//安全算法函数{intk,f,v=0,i,j;intwork[m],a[m];boolfinish[m];r=1;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。