/* Fuzzy string matching (1996) by Cristobal Brahm lbrahm@cec.uchile.cl (theoretical method given by Maurice.Clerc@WriteMe.com) */ #include #include #include #include #include #define ALPHA 1 #define BETA -1.2 #define GAMMA 2 #define LARGO_MAX 5 #define LARGO_ALF 4 float confusion[LARGO_ALF][LARGO_ALF]={ {1,0.2,0,0}, {0.2,1,0,0}, {0,0,1,0}, {0,0,0,1} }; char alfabeto[LARGO_ALF]={'A','B','C','D'}; int letra_numero(char letra) { int a; for (a=0;a=0) return(confusion[letra_numero(a)][letra_numero(b)]); else return(0); } char string1[LARGO_MAX]="ABADC"; char string2[LARGO_MAX]="BADCA"; char string3[LARGO_MAX]="BADC"; char string4[LARGO_MAX]="ABAC"; char string5[LARGO_MAX]="AADC"; char string6[LARGO_MAX]="ABAD"; calcula_fuzzy(char string[LARGO_MAX], float fuzzy_vector[LARGO_ALF*LARGO_MAX]) { int x,y,z,d,pos; float fl,fuzzy,s; for (x=0;x