银行家算法(文件读入输出)

这是一个C++实现的银行家算法程序,用于模拟操作系统中资源的分配和安全性的检查。程序读取用户输入的进程数量、资源数量以及各进程的需求和已分配资源,通过安全性算法判断系统是否安全并进行资源分配。
摘要由CSDN通过智能技术生成
#include <iostream>  
#include<cstring>
#include<stdio.h>
using namespace std;  
#define MAXPROCESS 50                        /*最大进程数*/  
#define MAXRESOURCE 100                        /*最大资源数*/  
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 flag[MAXPROCESS];                   /*记录序列*/  
int m,n;                                    /*m个进程,n个资源*/  
void Init();  
bool Safe();  
void Bank();  
void showdata(int,int);  
int main()  
{  
/*FILE *in = freopen("in.txt","r",stdin);
FILE *out = freopen("out.txt","w",stdout);*/
    Init();  
    Safe();  
    Bank();  
  /*  fclose(in);
    fclose(out);*/
}  
void Init()                /*初始化算法*/  
{  
    int i,j;  
    
    cin>>m;  
     
    cin>>n;  
   
    for(i=0;i<m;i++)  
        for(j=0;j<n;j++)  
            cin>>MAX[i][j];  
   
    for(i=0;i<m;i++)  
    {  
        for(j=0;j<n;j++)  
        {  
            cin>>ALLOCATION[i][j];  
            NEED[i][j]=MAX[i][j]-ALLOCATION[i][j];  
            if(NEED[i][j]<0)  
            {  
                cout<<"您输入的第"<<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值