#include #include char pattern[100]; int psize; int next[100]; int fail[100]; int i,j; void scan(char pattern[]){ int i; int t; i=0; t=-1; fail[0]=-1; next[0]=-1; do { while ((t>=0) && (pattern[i] != pattern[t])) t=next[t]; i++; t++; fail[i]=t; if (pattern[i] == pattern[t]) next[i] = next[t]; else next[i] = t; } while (i < (psize -1)); } void main (){ printf("Enter an input string:"); scanf("%s",pattern); psize = strlen(pattern); printf("\n\n"); printf("Pattern length is:%d\n",psize); scan(pattern); for (i=0; i