#include #define maxtaille 100 double P[maxtaille][maxtaille]; int M[maxtaille][maxtaille]; int taille; FILE *entree; void lire()/*lire la matrice P de probabilités de transition et construire M la matrice booléenne de l'existence de chemins de longueur 1 */ { int i,j; double x; if (taille>maxtaille) printf("Taille %i trop grande; maximum est %i\n",taille,maxtaille); else for (i=0;i0; } } } void printbool(A) int A[maxtaille][maxtaille]; { int i,j; for (i=0;i=1) */ int A[maxtaille][maxtaille], n; { int temp[maxtaille][maxtaille]; if (n==1) return; copiebool(A,temp); puissancebool(temp,n/2); multbool(temp,temp); if (n % 2) /*n impair*/ multbool(A,temp); else copiebool(temp,A); } /*--------------------------------------------------------------------------------------- * ce qui a été ajouté * --------------------------------------------------------------------------------------*/ int analyseclasses(int T[maxtaille][maxtaille]) /* la valeur retournée est le nombre de classes */ { int i,j,nombre=0, /* le nombre de classes trouvées */ classetrouvee[maxtaille]; /* a-t-on déjà trouvé la classe de l'état [?] */ for (i=0;i1?"s":"", nombreclasses>1?"s":""); }