⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bank.txt

📁 银行家算法 随即产生矩阵 根据银行加算法算出合理的序列
💻 TXT
字号:
#include <stdio.h>
#include<stdlib.h>
#include<time.h>
#include <iostream.h>
#include <conio.h>
void main()
{
	srand( (unsigned)time( NULL ) );
	int i,j,k,l=0,count=0;
 int claim[5][9];
 for(i=0;i<5;i++)
	 for(j=0;j<9;j++)
	 { claim[i][j]=rand()%10;
	                     }

 int allocation[5][9];
 for(i=0;i<5;i++)
	 for(j=0;j<9;j++)
	 { allocation[i][j]=claim[i][j]-rand()%3;
	  if(allocation[i][j]<0)
		  allocation[i][j]=0;
	                     }
 
 int need[5][9]={0};
 
 int result[5]={-1,-1,-1,-1,-1};
 
 int work[9];
	 for(i=0;i<9;i++)
		 work[i]=rand()%10;/*dingyi*/

 printf("available:\n     A  B  C  D  E  F  G  H  I  \n     ");
	 for(i=0;i<9;i++)
		 printf("%d  ",work[i]);
 printf("\nevery max source:\n     A  B  C  D  E  F  G  H  I  \n");
 for(i=0;i<5;i++)
 {
  printf("P%d: ",i);
  for(j=0;j<9;j++) 
  {
   printf(" %d ",claim[i][j]);
   need[i][j]=claim[i][j]-allocation[i][j];
  }
  printf("\n");
 }
 printf("allocation:\n     A  B  C  D  E  F  G  H  I\n");
 for(i=0;i<5;i++)
 {
  printf("P%d: ",i);
  for(j=0;j<9;j++)
   printf(" %d ",allocation[i][j]);
  printf("\n");
 }
 printf("every need:\n     A  B  C  D  E  F  G  H  I\n");
 for(i=0;i<5;i++)
 {
  printf("P%d: ",i);
  for(j=0;j<9;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]&&need[k][3]<=work[3]&&need[k][4]<=work[4]&&need[k][5]<=work[5]&&need[k][6]<=work[6]&&need[k][7]<=work[7]&&need[k][8]<=work[8])
    {
     work[0]=work[0]+allocation[k][0];
     work[1]=work[1]+allocation[k][1];
     work[2]=work[2]+allocation[k][2];
	 work[3]=work[3]+allocation[k][3];
	 work[4]=work[4]+allocation[k][4];
	 work[5]=work[5]+allocation[k][5];
	 work[6]=work[6]+allocation[k][6];
	 work[7]=work[7]+allocation[k][7];
	 work[8]=work[8]+allocation[k][8];
     result[k]=l;count++;
     printf("P%d->",k);
    }
   }

 if(count==5)
  printf("\nit is safe!\n");
 else
  printf("\nit is danger\n");
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -