// LA FONCTION TRANSITION QUI PERMET DE CHANGER L'ETAT DE L'AUTOMATE SELON UNE TRANSTION UNE ETAT INITIAL ET UN SYMBOLE LU
 public static int transition(int etat, char c, AFD AUTOM)
 {
     // BOUCLE QUI SE REPETERA AUTANT QUE LE NOMBRE DE TRANSITIONS
     for (int i = 0; i < AUTOM.getTransitions().Count; i++)
     {
         // ON TESTE SI IL' Y A UNE TRANSITION AVEC COMME ETAT INITIAL LE PREMIER PARAMETRE ET LE DEUXIEME COMME SYMBOLE
         if (AUTOM.getTransitions()[i].getEtatI() == etat && AUTOM.getTransitions()[i].getSymbole() == c)
         {
             return(AUTOM.getTransitions()[i].getEtatF()); // SI OUI ON RETOURNE L'ETAT FINAL DE LA TRANSITION
         }
     }
     // SI ON NE SORT PAS DE LA BOUCLE AVEC UN ETAT ON RETOURNE L'ETAT INITIAL
     return(etat);
 }
        //LA FONCTION PRINT QUI PERMET D'AFFICHER L'AUTOMATE AINSI QUE CES COMPOSANTS
        public static void print(AFD AUTOM)
        {
            // BOUCLE QUI PERMET D'AFFICHER LES DIFFERENTS ETATS (INITIAUX ET FINAUX)
            for (int i = 0; i < AUTOM.getNbrEtat(); i++)
            {
                if (i == 0)
                {
                    Console.Write("E=({0}", i); // LE PREMIER ETAT
                }
                else
                if (i == AUTOM.getNbrEtat() - 1)
                {
                    Console.WriteLine(",{0})", i); // LA DERNIERE ETAT
                }
                else
                {
                    Console.Write(",{0}", i); // LES AUTRES ETATS DU MILIEU
                }
            }
            // BOUCLE QUI PERMET D'AFFICHER L'ALPHABET DE L'AUTOMATE
            for (int i = 0; i < AUTOM.getAlphabet().Count; i++)
            {
                if (i == 0)
                {
                    Console.Write("A=({0}", AUTOM.getAlphabet()[i]); // LE PREMIER CARACTERE
                }
                else
                if (i == AUTOM.getAlphabet().Count - 1)
                {
                    Console.WriteLine(",{0})", AUTOM.getAlphabet()[i]); // LE DERNIER CARACTERE
                }
                else
                {
                    Console.Write(",{0}", AUTOM.getAlphabet()[i]); // LES AUTRES CARACTERES DE L'ALPHABET
                }
            }
            Console.WriteLine("Transactions:");
            // BOUCLE QUI PERMET D'AFFICHER LES TRANSACTIONS
            for (int i = 0; i < AUTOM.getTransitions().Count; i++)
            {
                Console.WriteLine("t({0},{1})={2}  ", AUTOM.getTransitions()[i].getEtatI(), AUTOM.getTransitions()[i].getSymbole(), AUTOM.getTransitions()[i].getEtatF());
            }

            // L'AFFICHAGE DE L'ETAT INITIAL
            Console.WriteLine("I= {0}", AUTOM.getEtatInitial());
            // L'AFFICHAGE DES ETATS FINAUX
            if (AUTOM.getNbrEtatFinal() == 1)
            {
                Console.WriteLine("F=({0})", AUTOM.getEtatFinaux()[0]); // SI IL S'AGIT D'UN SEUL ETAT FINAL
            }
            else
            {
                for (int i = 0; i < AUTOM.getNbrEtatFinal(); i++)
                {
                    if (i == 0)
                    {
                        Console.Write("F=( {0}", AUTOM.getEtatFinaux()[i]); // LE PREMIER ETAT FINAL
                    }
                    else
                    if (i == AUTOM.getNbrEtatFinal() - 1)
                    {
                        Console.WriteLine(", {0} )", AUTOM.getEtatFinaux()[i]); // LE DERNIER ETAT FINAL
                    }
                    else
                    {
                        Console.Write(", {0}", AUTOM.getEtatFinaux()[i]); // LES AUTRES ETATS FINAUX
                    }
                }
            }
            // L'AFFICHAGE DE NOMBRE DES TRANSACTIONS
            Console.WriteLine("Nombre de transactions : {0}", AUTOM.getTransitions().Count);
        }