Maison >développement back-end >C++ >Programme pour créer un DFA commençant par « a » et se terminant par « a » à partir de l'entrée

Programme pour créer un DFA commençant par « a » et se terminant par « a » à partir de l'entrée

王林
王林avant
2023-09-06 21:37:141397parcourir

Programme pour créer un DFA commençant par « a » et se terminant par « a » à partir de lentrée

DFA signifie Automates finis déterministes. Il s'agit d'une machine à états finis qui accepte ou rejette une chaîne en fonction de son récepteur.

Ici, nous allons créer un DFA qui accepte les chaînes commençant par a et se terminant par a. L'entrée provient de l'ensemble (a,b). Sur cette base, nous concevrons un DFA. Voyons maintenant quelques situations valides et non valides acceptées par DFA.

Chaînes acceptées par DFA : ababba, aabba, aa, a.

Chaînes non acceptées par DFA : ab, b, aabab.

Exemple

Ce programme vérifie les chaînes qui commencent par a et se terminent par a. Ce DFA acceptera toutes les chaînes commençant par a et se terminant par a. Le code vérifie l'égalité du premier et du dernier élément, et tous les éléments intermédiaires peuvent être n'importe quel caractère de (a,b).

#include <iostream>
#include <string.h>
using namespace std;
int main(){
   char str[] = {"ababba"};
   int lenght = strlen(str);
   if(str[0] == &#39;a&#39; && str[lenght-1] == &#39;a&#39;){
      printf("Accepted");
      else{
         printf("Rejected");
         return 0;
      }
   }
}

sortie

Accepted

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer