银行家算法程序的一部分 帮忙看看为什么会是随机数呢?
#include <iostream>#include <iomanip>
using namespace std;
void fmax()
{
int m,n,i,j;
int max[100][100],all[100][100],need[100][100];
cout<<"进程总数"<<endl;
cin>>m;
cout<<"资源总数"<<endl;
cin>>n;
int mmax[100]; //各类资源总数
for(i=0;i<=n;i++)
{
cout<<"请输入各类资源总数"<<endl;
cin>>mmax[i];
}
for( i=0;i<=m;i++)
for( j=0;j<=n;j++)
{
cout<<"请输入最大需求"<<endl;
cin>>max[i][j];
}
cout<<"资源数的最大需求:"<<endl;
for( i=0;i<=m;i++)
{
cout<<endl;
for( j=0;j<=n;j++)
cout<<setw(10)<<max[i][j];
cout<<endl;
}
for( i=0;i<=m;i++) //all
for( j=0;j<=n;j++)
{
cout<<"请输入已分配资源"<<endl;
cin>>all[i][j];
}
cout<<"已分配资源数:"<<endl;
for( i=0;i<=m;i++)
{
cout<<endl;
for( j=0;j<=n;j++)
cout<<setw(10)<<all[i][j];
cout<<endl;
}
cout<<"仍需资源数"<<endl;
for( i=0;i<=m;i++)
for(j=0;j<=n;j++)
need[i][j]=max[i][j]-all[i][j];
for( i=0;i<=m;i++)
{
cout<<endl;
for(j=0;j<=n;j++)
cout<<setw(10)<<need[i][j];
cout<<endl;
}
int av[100], p=0;av[0]=0;//可用资源数
for(j=0;j<=n;j++)
for(i=0;i<=m;i++)
p=p+all[i][j];
{av[j]=p;
av[j]=mmax[j]-p;
}
cout<<"可以用资源数"<<endl;
for(i=0;i<=m;i++)
cout<<av[i]<<" ";
}
/*bool F=0; p=0;int sum=0;
for(i=0;i<=m;i++)
for(j=0;j<=n;j++)
{ sum=av[i][j]-need[i][j];
if(sum<0) break;
else
{max[i][j]=max[i][j]+all[i][j];
F=1;}
p++;}
cout<<"p"<<p<<endl;
if(F=1)
cout<<"ture"<<endl;
else
cout<<"false"<<endl; */
int main()
{
fmax();
return 0;
}