FIRST FIT ALGORITHM

#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