Programming C Lab Worst-Fit - Best Fit - First-Fit Programs Worst-Fit PROGRAM: #include #include #define max 25 void main() { int frag[max],b[max],f[max],i,j,nb,nf,temp,highest=0; static int bf[max],ff[max]; printf("\n\tMemory management scheme-Worst Fit"); printf("\nEnter the no. of blocks:"); scanf("%d",&nb); printf("Enter the no. of files:"); scanf("%d",&nf); printf("\nEnter the size of the blocks:-\n"); for(i=1;i<=nb;i++) {printf("Block %d:",i);scanf("%d",&b[i]);} printf("Enter the size of the files :-\n"); for(i=1;i<=nf;i++) {printf("File %d:",i);scanf("%d",&f[i]);} for(i=1;i<=nf;i++) { for(j=1;j<=nb;j++) { if(bf[j]!=1) //if bf[j] is not allocated { temp=b[j]-f[i]; if(temp>=0) if(highest { ff[i]=j; highest=temp; } } } frag[i]=highest; bf[ff[i]]=1; highest=0; } printf("\nFile_no:\tFile_size :\tBlock_no:\tBlock_size:\tFragement"); for(i=1;i<=nf;i++) printf("\n%d\t\t%d\t\t%d\t\t%d\t\t%d",i,f[i],ff[i],b[ff[i]],frag[i]); getch(); } CHECK THIS POST - Worst-Fit - Best Fit - First-Fit | C Programming Best Fit PROGRAM: #include #include #define max 25 void main() { int frag[max],b[max],f[max],i,j,nb,nf,temp,lowest=10000; static int bf[max],ff[max]; printf("\nEnter the number of blocks:"); scanf("%d",&nb); printf("Enter the number of files:"); scanf("%d",&nf); printf("\nEnter the size of the blocks:-\n"); for(i=1;i<=nb;i++) { printf("Block %d:",i); scanf("%d",&b[i]); } printf("Enter the size of the files :-\n"); for(i=1;i<=nf;i++) { printf("File %d:",i); scanf("%d",&f[i]); } for(i=1;i<=nf;i++) { for(j=1;j<=nb;j++) { if(bf[j]!=1) { temp=b[j]-f[i]; if(temp>=0) if(lowest>temp) { ff[i]=j; lowest=temp; } } } frag[i]=lowest; bf[ff[i]]=1; lowest=10000; } printf("\nFile No\tFile Size \tBlock No\tBlock Size\tFragment"); for(i=1;i<=nf && ff[i]!=0;i++) printf("\n%d\t\t%d\t\t%d\t\t%d\t\t%d",i,f[i],ff[i],b[ff[i]],frag[i]); getch(); } CHECK THIS POST - Worst-Fit - Best Fit - First-Fit | C Programming First-Fit PROGRAM: #include #include #define max 25 void main() { int frag[max],b[max],f[max],i,j,nb,nf,temp,lowest=10000; static int bf[max],ff[max]; clrscr(); printf("\nEnter the number of blocks:"); scanf("%d",&nb); printf("Enter the number of files:"); scanf("%d",&nf); printf("\nEnter the size of the blocks:-\n"); for(i=1;i<=nb;i++) { printf("Block %d:",i); scanf("%d",&b[i]); } printf("Enter the size of the files :-\n"); for(i=1;i<=nf;i++) { printf("File %d:",i); scanf("%d",&f[i]); } for(i=1;i<=nf;i++) { for(j=1;j<=nb;j++) { if(bf[j]!=1) { temp=b[j]-f[i]; if(temp>=0) if(lowest>temp) { ff[i]=j; lowest=temp; } } } frag[i]=lowest; bf[ff[i]]=1; lowest=10000; } printf("\nFile No\tFile Size \tBlock No\tBlock Size\tFragment"); for(i=1;i<=nf && ff[i]!=0;i++) printf("\n%d\t\t%d\t\t%d\t\t%d\t\t%d",i,f[i],ff[i],b[ff[i]],frag[i]); getch(); }
Post a Comment