bank

                Never    
Text
       
#include<stdio.h>
int main()
{
	int i,j,k,m,n,alloc[n][m],max[n][m],avail[m];
	printf("Enter no.of processes:");
	scanf("%d",&n);
	printf("Enter no.of resources:");
	scanf("%d",&m);
	printf("Enter allocation matrix:");
	for(i=0;i<n;i++)
	{
		for(j=0;j<m;j++)
		{
			scanf("%d",&alloc[i][j]);
		}
	}
	printf("Enter max matrix:");
	for(i=0;i<n;i++)
	{
		for(j=0;j<m;j++)
		{
			scanf("%d",&max[i][j]);
		}
	}
	printf("Enter available matrix:");
	for(i=0;i<m;i++)
	{
			scanf("%d",&avail[i]);
	}
	int f[n],ans[n],ind=0,flag;
	int need[n][m];
	printf("Enter need matrix:");
	for(i=0;i<n;i++)
	{
		for(j=0;j<m;j++)
		{
			need[i][j]=max[i][j]-alloc[i][j];
		}
	}
	for(k=0;k<n;k++)
	{
		f[k]=0;
		for(i=0;i<n;i++)
		{
			if(f[i]==0)
				flag=0;
				break;
			for(j=0;j<m;j++)
			{
				if(f[i]==1)
				{
				    flag=1;
				    break;
				}
			}
			if(flag==0)
			{
				for(i=0;i<n;i++)
				{
					ans[ind++]=i;
					f[i]=0;
				}
			}
			int y=0;
			if(flag==1)
			{
				for(y=0;y<m;y++)
				{
					if(need[i][j]>avail[i])
					{
						avail[y]+=alloc[i][y];
						f[i]=1;
					}
				}
			}
		}
	}
	if(flag==0)
	{
		for(k=0;k<m;k++)
		{
			printf("System is not safe");
		}
	}
	if(flag==1)
	{
		printf("Safe sequence is:\n");
		for(i=0;i<n;i++)
		{
			printf("P%d->",ans[i]);
			printf("P%d",ans[n-1]);
		}
	}
	printf("Need matrix is:");
	for(i=0;i<n;i++)
	{
		for(j=0;j<m;j++)
		{
			printf("%d\t",need[i][j]);
		}
	}
}

Raw Text