资源简介
利用C语言实现操作系统中的银行家算法(话说说的这么清楚还需要多少描述吗?额,我这个是老师亲自验收通过的!)
代码片段和文件信息
#include
using namespace std;
#define maxprocess 30 /*最大进程数*/
#define maxresource 80 /*最大资源数*/
int available[maxresource]; /*可用资源数组*/
int max[maxprocess][maxresource]; /*最大需求矩阵*/
int allocation[maxprocess][maxresource]; /*分配矩阵*/
int need[maxprocess][maxresource]; /*需求矩阵*/
int request[maxprocess][maxresource]; /*进程需要资源数*/
bool finish[maxprocess]; /*系统是否有足够的资源分配*/
int p[maxprocess]; /*记录序列*/
int mn; /*m个进程n个资源*/
void Init();
bool Safe();
void Bank();
void main()
{
Init();
Safe();
Bank();
}
void Init() /*初始化算法*/
{
int ij;
cout<<“**********************************银行家算法**********************************“< cout<<“请输入进程的数目:“< cin>>m;
cout<<“请输入资源的种类:“< cin>>n;
cout<<“请输入每个进程最多所需的各资源数按照“< for(i=0;i for(j=0;j cin>>max[i][j];
cout<<“请输入每个进程已分配的各资源数也按照“< for(i=0;i {
for(j=0;j {
cin>>allocation[i][j];
need[i][j]=max[i][j]-allocation[i][j];
if(need[i][j]<0)
{
cout<<“您输入的第“< j--;
continue;
}
}
}
cout<<“请输入各个资源现有的数目:“< for(i=0;i {
cin>>available[i];
}
}
void Bank() /*银行家算法*/
{
int icusneed;
char again;
while(1)
{
cout<<“请输入要申请资源的进程号(请从0开始依次输入)“< cin>>cusneed;
cout<<“请输入进程所请求的各资源的数量“< for(i=0;i {
cin>>request[cusneed][i];
}
for(i=0;i {
if(request[cusneed][i]>need[cusneed][i])
{
cout<<“您输入的请求数超过进程的需求量!请重新输入!“< continue;
}
if(request[cusneed][i]>available[i])
{
cout<<“您输入的请求数超过系统有的资源数!请重新输入!“<
- 上一篇:C++聊天室客户端+服务端
- 下一篇:spath(A*算法的C语言源代码)
相关资源
- C++中头文件与源文件的作用详解
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
- 个人日常财务管理系统(C语言)
- c语言电子商务系统
- 小甲鱼C语言课件 源代码
- 将图片转换为C语言数组的程序
- C语言实现的一个内存泄漏检测程序
- DES加密算法C语言实现
- LINUX下命令行界面的C语言细胞游戏
- 用单片机控制蜂鸣器播放旋律程序(
- 学校超市选址问题(数据结构C语言版
- 电子时钟 有C语言程序,PROTEUS仿真图
- 尚观培训linux许巍老师关于c语言的课
- 算符优先语法分析器(C语言编写)
- 基于C语言的密码锁程序
评论
共有 条评论