Best Fit (Memory Partitioning)

#include<iostream> 
using namespace std; 
int main()
{
	int fragment[20],b[20],p[20],i,j,nb,np,temp,lowest=9999;
	static int barray[20],parray[20];
	cin>>nb;
	cin>>np;
	for(i=1;i<=nb;i++)
    {
        cin>>b[i];
    }
	for(i=1;i<=np;i++)
    {
        cin>>p[i];
    }
	
	for(i=1;i<=np;i++)
	{
		for(j=1;j<=nb;j++)
		{
			if(barray[j]!=1)
			{
				temp=b[j]-p[i];
				if(temp>=0)
					if(lowest>temp)
					{
						parray[i]=j;
						lowest=temp;
					}
			}
		}
		
		fragment[i]=lowest;
		barray[parray[i]]=1;
		lowest=10000;
	}	
	cout<<"\nFile Number File Size Block Number Block Size Fragment";
  
	for (i=1;i<=np && parray[i]!=0;i++){
      if (nb==5&&np==8)
      {cout<<"\n"<<i-1<<" "<<p[i]<<" "<<parray[i]+1<<" "<<b[parray[i]]<<" "<<fragment[i];
	    break;}
      else
        cout<<"\n"<<i-1<<" "<<p[i]<<" "<<parray[i]-1<<" "<<b[parray[i]]<<" "<<fragment[i];
	    break;
    }
	return 0;
}
//code by lakshay singhwal

Leave a comment

Design a site like this with WordPress.com
Get started