Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรมสร้าง DFA ที่เริ่มต้นและลงท้ายด้วย 'a' จากอินพุต (a, b)


DFA ย่อมาจาก Deterministic Finite Automata มันเป็นเครื่องสถานะจำกัดที่ยอมรับหรือสตริงที่ขึ้นอยู่กับตัวรับ

ในที่นี้ เราจะสร้าง DFA ที่ยอมรับสตริงที่ขึ้นต้นและลงท้ายด้วย a อินพุตมาจากชุด (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