📄 yhjsf.c
字号:
#include <stdio.h>
output(int arr[5][3])
{
int i,j;
printf(" A B C\n");
for(i=0;i<5;i++)
{
printf("P%d",i);
for(j=0;j<3;j++)
{ printf(" %d",arr[i][j]); }
printf("\n");
}
}
int Security(int avialable[3],int need[5][3],int allocation[5][3])
{
int j,i;
int work[3];
int finish[5]={0,0,0,0,0};
for(j=0;j<3;j++)
work[j]=avialable[j];
for(i=0;i<5;i++)
{
if(finish[i]==0)
{
for(j=0;j<3;j++)
if(need[i][j]<=work[i]&need[i][j]<=work[i]&need[i][j]<=work[i])
work[j]=work[j]+allocation[i][j];
finish[j]=1;
}
}
for(i=0;i<5;i++)
{
if(finish[i]==0)
return 0;
else return 1;
}
} */
Bank(int i,int request[3],int need[5][3],int avialable[3],int allocation[5][3])
{
int
int j;
printf("The process id: %d\n",i);
printf("The Process Request:");
for(j=0;j<3;j++)
printf(" %d",request[j]);
printf("\n");
if(request[0]<=need[i][0]&request[1]<=need[i][1]&request[2]<=need[i][2])
{
if(request[0]<=avialable[0]&request[1]<=avialable[1]&request[2]<=avialable[2])
{
for(j=0;j<3;j++)
{
avialable[j]=avialable[j]-request[j];
allocation[i][j]=allocation[i][j]+request[j];
need[i][j]=need[i][j]-request[j];
}
printf("The source after request:\n");
printf(" Allocation\n");
output(allocation);
printf(" Need\n");
output(need);
printf("The Avialable after request:");
for(j=0;j<3;j++)
printf(" %d",avialable[j]);
printf("\n");
}
else printf("RequestError!");
}
else printf("RequestError!");
/*Security(avialable,need,allocation);*/
}
main()
{
int id,i;
int Avialable[3]={3,3,2};
int Max[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 Need[5][3]={{7,4,3},{1,2,2},{6,0,0},{0,1,1},{4,3,1}};
int Request[3]; /*i Id of Process*/
printf("The source before request:\n");
printf(" MAX\n");
output(Max);
printf(" Allocation\n");
output(Allocation);
printf(" Need\n");
output(Need);
printf("The Avialable before request:");
for(i=0;i<3;i++)
printf(" %d",Avialable[i]);
printf("\n");
printf("Input the id and request of Process:");
scanf("%d %d %d %d",&id,&Request[0],&Request[1],&Request[2]);
Bank(id,Request,Need,Avialable,Allocation);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -