構建從輸入 (a, b) 中以 'a' 開頭和結尾的 DFA 的程式


DFA 代表確定性有限自動機。它是一種有限狀態機,根據其接受器接受或拒絕字串。

在這裡,我們將構建一個接受以 a 開頭和結尾的字串的 DFA。輸入來自集合 (a,b)。基於此,我們將設計一個 DFA。現在,讓我們討論一些 DFA 接受的有效和無效案例。

DFA 接受的字串:ababba、aabba、aa、a。

DFA 不接受的字串:ab、b、aabab。

示例

此程式檢查字串是否以 a 開頭和結尾。此 DFA 將接受所有以 a 開頭和結尾的字串。程式碼檢查第一個和最後一個元素是否相等,其餘所有元素都可以來自 (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

更新於: 2019年8月6日

738 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告