#include<stdio.h>
#define MAX_NO 10
int main()
{
int allo[MAX_NO][MAX_NO],max[MAX_NO][MAX_NO],need[MAX_NO][MAX_NO],av[MAX_NO];
int i,n,j,p,flag[MAX_NO],count;
printf("Enter the number of Process: ");
scanf("%d",&n);
count=n;
printf("Enter the number of Resource : ");
scanf("%d",&p);
printf("Enter the allocation amtrix: ");
for(i=0;i<n;i++)
{
for(j=0;j<p;j++)
{
scanf("%d",&allo[i][j]);
}
}
printf("Enter the Max amtrix: ");
for(i=0;i<n;i++)
{
for(j=0;j<p;j++)
{
scanf("%d",&max[i][j]);
}
}
printf("\n Enter the available matrix: ");
for(i=0;i<p;i++)
{
scanf("%d",&av[i]);
}
printf("\n\n********Allocation Matrix**********\n\n");
for(i=0;i<n;i++)
{
for(j=0;j<p;j++)
{
printf("%d\t",allo[i][j]);
}
printf("\n");
}
printf("\n\n********Max Matrix**********\n\n");
for(i=0;i<n;i++)
{
for(j=0;j<p;j++)
{
printf("%d\t",max[i][j]);
}
printf("\n");
}
printf("\n\n********Need Matrix**********\n\n");
for(i=0;i<n;i++)
{
for(j=0;j<p;j++)
{
if(max[i][j]>=allo[i][j])
{
need[i][j]=max[i][j]-allo[i][j];
}
else
{
printf("\n Allocation is more than max\n");
}
}
}
for(i=0;i<n;i++)
{
for(j=0;j<p;j++)
{
printf("%d\t",need[i][j]);
}
printf("\n");
}
printf("\n***********available matrix*************\n ");
for(i=0;i<p;i++)
{
printf("%d\t",av[i]);
}
printf("\n*******safe sequence*********\n");
/*while(count!=0)
{
for(i=0;i<n;i++)
{
flag[i]=0;
for(j=0;j<p;j++)
{
if(need[i][j]<=av[i] && flag[i]!=1)
{
av[i]=av[i]+allo[i][j];
printf("P[%d]",i+1);
flag[i]=1;
count--;
}
}
}
}
*/
}
Output :
/home/ABC/