#include<stdio.h>
int main()
{
int np,nb,i,j;
puts("Enter number of processes and blocks");
scanf("%d%d",&np,&nb);
int p[np],m[nb],all[nb];
puts("Enter process sizes");
for(i=0;i<np;i++)
scanf("%d",&p[i]);
for(i=0;i<5;i++)
all[i]=-1;
puts("Enter block sizes");
for(i=0;i<nb;i++)
scanf("%d",&m[i]);
for(i=0;i<np;i++)
{
for(j=0;j<nb;j++)
{
if(p[i]<=m[j]&&all[j]==-1)
{
all[j]=i;
break;
}
}
}
for(i=0;i<np;i++)
{
int flag=0;
for(j=0;j<nb;j++)
{
if(all[j]==i)
{
flag=1;
printf("Process %d = %d is allocated to block %d\n",i+1,p[i],m[j]);
break;
}
}
if(flag==0)
printf("Process %d is waiting",i+1);
}
return 0;
}
Comments
Post a Comment