#include<stdio.h>
int main()
{
int n=0,i=0,j,frmSize,flag,pageFaults=0;
int pageSeq[100],temp[100]={0},v,frame[100];
printf("\n\t Enter page sequence(-1 to stop)\n\t ");
scanf("%d",&pageSeq[i]);
while(pageSeq[i]!=-1)
{
i++;
n++;
scanf("%d",&pageSeq[i]);
}
if(n>0)
{
printf("\n\t Enter frame size");
scanf("%d",&frmSize);
for(i=0;i<frmSize;i++)
frame[i]=9999;
for(i=0;i<n;i++)
{
flag=0;
for(j=0;j<frmSize;j++)
if(pageSeq[i]==frame[j])
flag=1;
if(flag==1)
continue;
else
{
for(j=0;j<frmSize;j++)
{
if(temp[j]==0)
{
v=j;
break;
}
}
pageFaults++;
frame[v]=pageSeq[i];
j=frmSize;
while(j--)
{
temp[v]=j;
v=(v+1)%frmSize; }
}
}
printf("\n\t No. of Page faults %d",pageFaults);
}
return 0;
}