Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

입력 (a, b)에서 'a'로 시작하고 끝나는 DFA를 빌드하는 프로그램

<시간/>

DFA는 Deterministic Finite Automata의 약자입니다. 수용자 또는 수용자를 기반으로 하는 문자열을 수용하는 유한 상태 기계입니다.

여기에서 로 시작하고 끝나는 문자열을 허용하는 DFA를 만들 것입니다. 입력은 집합 (a,b)에서 가져옵니다. 이를 기반으로 DFA를 설계합니다. 이제 DFA에서 허용하는 몇 가지 유효한 사례와 잘못된 사례에 대해 논의해 보겠습니다.

DFA에서 허용하는 문자열:ababba, aabba, aa, a.

DFA에서 허용하지 않는 문자열:ab, b, aabab.

이 프로그램은 로 시작하고 끝나는 문자열을 확인합니다. 이 DFA는 로 시작하고 끝나는 모든 문자열을 허용합니다. 코드는 첫 번째 요소와 마지막 요소가 동일한지 확인하고 그 사이의 모든 요소는 (a,b)에서 가능합니다.

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

출력

Accepted