// longueur-des-facteurs.c // << Algorithmique du texte >> // Maxime Crochemore, Christophe Hancart et Thierry Lecroq // Vuibert, 2001. #include <stdio.h> #include "chl.h" #include "automate.h" void longueurDesFacteurs(Automate Sx, Mot y, Longueur n) { Etat p; int i, ell; ell = 0; p = initial(Sx); for (i = 0; i <= n - 1; ++i) { if (cible(p, y[i]) != NULL) { ++ell; p = cible(p, y[i]); } else { do { p = F(p); } while (p != NULL && cible(p, y[i]) == NULL); if (p != NULL) { ell = L(p) + 1; p = cible(p, y[i]); } else { ell = 0; p = initial(Sx); } } printf("%d\n", ell); } }