#include <stdio.h>
#include <stdlib.h>
char * prefix(char * c,int start, int end,int size)
{ int i;
char *temp=(char *)malloc(size*sizeof(char));
for(i=0;i<size;i++)
temp[i]=c[start++];
return temp;
}
char * suffix(char * c,int start, int end,int size)
{ int i,j;
char *temp=(char *)malloc(size*sizeof(char));
for(j=0,i=end-size+1;i<=end;i++,j++)
temp[j]=c[i];
return temp;
}
int match(char * a, char *b)
{ int i=0;
while(a[i]!='\0')
{
if(a[i]!=b[i])
return 0;
i++;
}
return 1;
}
int sigma(char * t , char * p ,int i)
{
int j,v=0;
for(j=0;p[j]!='\0';j++)
if(match(suffix(t,0,i,j+1),prefix(p,0,j,j+1)))
v=j+1;
return v;
}
int main()
{ char a[]="dfhghjgfjschhscgchgfbgfsgfjh";
char b[]="jhgfj";
printf("%d\n",sigma(a,b,8));
}
#include <stdlib.h>
char * prefix(char * c,int start, int end,int size)
{ int i;
char *temp=(char *)malloc(size*sizeof(char));
for(i=0;i<size;i++)
temp[i]=c[start++];
return temp;
}
char * suffix(char * c,int start, int end,int size)
{ int i,j;
char *temp=(char *)malloc(size*sizeof(char));
for(j=0,i=end-size+1;i<=end;i++,j++)
temp[j]=c[i];
return temp;
}
int match(char * a, char *b)
{ int i=0;
while(a[i]!='\0')
{
if(a[i]!=b[i])
return 0;
i++;
}
return 1;
}
int sigma(char * t , char * p ,int i)
{
int j,v=0;
for(j=0;p[j]!='\0';j++)
if(match(suffix(t,0,i,j+1),prefix(p,0,j,j+1)))
v=j+1;
return v;
}
int main()
{ char a[]="dfhghjgfjschhscgchgfbgfsgfjh";
char b[]="jhgfj";
printf("%d\n",sigma(a,b,8));
}