Untitled
unknown
plain_text
a year ago
1.9 kB
4
Indexable
GNU nano 4.8 banker.c Modified #include<stdio.h> void main() { int alloc[20][20],max[20][20],need[20][20],avail[20]; int ans[10],f[10],pos,flag=0,i,j,k,y,n,r; printf("enter the number of process"); scanf("%d",&n); printf("enter the number of resourses"); scanf("%d",&r); printf("enter the allocation matrix"); for(i=0;i<n;i++) { for(j=0;j<r;j++) { scanf("%d",&alloc[i][j]); } } printf("enter the max matrix"); for(i=0;i<n;i++) { for(j=0;j<r;j++) { scanf("%d",&max[i][j]); } } printf("enter the availabvle matrix"); for(i=0;i<r;i++) { scanf("%d",&avail[r]); } pos=0; for(k=0;k>n;k++) { f[k]=0; } for(i=0;i<n;i++) { for(j=0;j<r;j++) { need[i][j]=max[i][j]-alloc[i][j]; } } y=0; for(k=0;k<n;k++) { for(i=0;i<n;i++) { if(f[i]==0) { flag=0; for(j=0;j<r;j++) { if(need[i][j]>avail[j]) { flag=1; break; } } if(flag==0) { ans[pos++]=i; for(y=0;y<r;y++) avail[y]+=alloc[i][y]; f[i]=1; } } } } printf("\tallocation\t\tmax\t\tneed\n"); for(i=0;i<n;i++) { for(j=0;j<r;j++) { printf("%d",alloc[i][j]); } for(j=0;j<r;j++) { printf("\t\t%d",max[i][j]); } for(j=0;j<r;j++) { printf("\t\t%d",need[i][j]); } printf("\n"); } flag=1; for(i=0;i<n;i++) { if(f[i]=0) { flag=0; printf("not safe"); break; } } if(flag==1) { printf("safe sequence exist"); printf("\nthe safe sequence is\n"); for(i=0;i<n-1;i++) { printf("p%d->",ans[i]); printf("p%d->",ans[n-1]); } } } alloc[i][j]);
Editor is loading...
Leave a Comment