要求是用C语言的,c++等别的不行,要求有数据流程图,把程序编好,其他可有可无,程序要求不多100多行就行,主要就是数据流程图啊,可是现在连程序都还不对啊,画不出来啊,请教下大家谁能帮我解决下,谢谢啦
以下是找的一个c语言编写的银行家程序但是我机器上不能运行,各位帮看看程序对么?是什么问题啊
#i nclude <stdio.h>
void main()
{
int
claim[5][3]={{7,5,3},{3,2,2},{9,0,2},{2,2,2},{4,3,3}};
int
allocation[5][3]={{0,1,0},{2,0,0},{3,0,2},{2,1,1},{0,0,2}};
int i,j,k,l=0,count=0;
int
need[5][3]={{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}};
int result[5]={-1,-1,-1,-1,-1};
int work[3]={3,3,2};
printf("all source:/n A B C/n 10 5 7/n");
printf("available:/n A B C/n 3 3 2/n");
printf("every max source:/n A B C/n");
for(i=0;i<5;i++)
{
printf("P%d: ",i);
for(j=0;j<3;j++)
{
printf(" %d ",claim[i][j]);
need[i][j]=claim[i][j]-allocation[i][j];
}
printf("/n");
}
printf("allocation:/n A B C/n");
for(i=0;i<5;i++)
{
printf("P%d: ",i);
for(j=0;j<3;j++)
printf(" %d ",allocation[i][j]);
printf("/n");
}
printf("every need:/n A B C/n");
for(i=0;i<5;i++)
{
printf("P%d: ",i);
for(j=0;j<3;j++)
printf(" %d ",need[i][j]);
printf("/n");
}
for(l=0;l<5;l++)
for(k=0;k<5;k++)
{
if(result[k]==-1&&need[k][0]<=work[0]&&need[k][1]<=work[1]&&need[k][2]<=work[2])
{
work[0]=work[0]+allocation[k][0];
work[1]=work[1]+allocation[k][1];
work[2]=work[2]+allocation[k][2];
result[k]=l;count++;
printf("P%d->",k);
}
}
if(count==5)
printf("/nit is safe!/n");
else
printf("/nit is danger/n");
}