banker lite

                Never    
Text
       
#include<stdio.h>
int max[10][10],allocation[10][10],need[10][10];
int avail[10];
int np,nr;
void readmatrix(int matrix[10][10]){
	int i,j;
	for(i=0;i<np;i++)
		for(j=0;j<nr;j++)
			scanf("%d",&matrix[i][j]);
}
void display_matrix(int matrix[10][10]){
	int i,j;
	for(i=0;i<np;i++){
		printf("\nP%d",i);
		for(j=0;j<nr;j++){
			printf("--%d",matrix[i][j]);
		}
	}
}
void calculate_need(){
	int i,j;
	for(i=0;i<np;i++)
		for(j=0;j<nr;j++)
			need[i][j]=max[i][j]-allocation[i][j];
}
void banker(){
	int i,j,k=0,flag;
	int finish[10],safe_seq[10];
	for(i=0;i<np;i++){
		finish[i]=0;
	}
	for(i=0;i<np;i++){
		flag=0;
		for(i=0;i<np;i++){
			flag=0;
			if(finish[i]==0){
				for(j=0;j<nr;j++){
				if(need[i][j]>avail[j]){
					flag=1;
					break;
				}
			}
			if(flag==0){
				finish[i]=1;
				safe_seq[k]=i;
				k++;
			for(j=0;j<nr;j++)
				avail[j]+=allocation[i][j];
				i=-1;
			}
			}
			}
			flag=0;
			for(i=0;i<np;i++){
				if(finish[i]==0){
					printf("\nThe system is in deadlock: ");
					flag=1;
					break;
					}
				}
			if(flag==

Raw Text