• 大小: 3KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-05-26
  • 语言: C/C++
  • 标签: NFA  DFA  

资源简介

通过数的操作有NFA的状态转换表得到DFA的状态转换表

资源截图

代码片段和文件信息

// adsfa.cpp : Defines the entry point for the console application.
//

#include “stdafx.h“
#include “stdio.h“
#include “string.h“

int main(int argc char* argv[])
{
char t1[100][3][20];
char t2[100][3][60];
    int t3[100][2];
char o1[100];
char o2[100];
int x1;
int x2;
int z1;
int z2;
int y;
int m=0;
int p;
int p1;
int p2;
int p3;
int p4;
int f;
int t;
for (x1=0;x1<100;x1++)
for(z1=0;z1<20;z1++)
{
t1[x1][1][z1]=‘#‘;
t1[x1][2][z1]=‘#‘;
}
for(z2=0;z2<60;z2++)
{
t2[x1][1][z2]=‘#‘;
t2[x1][2][z2]=‘#‘;
}
t2[0][0][0]=0;
for(z1=0;t1[0][1][z1]!=‘#‘;z1++)
t2[0][1][z1]=t1[0][1][z1];
for(z1=0;t1[0][2][z1]!=‘#‘;z1++)
t2[0][2][z1]=t1[0][2][z1];
p=0;
x2=0;
    loop0:p1=1;
    loop1: if(t2[p][p1][0]=‘#‘)
   p1=2;
   if(t2[p][p1][0]=‘#‘)
   goto loop3;
   for(p3=0;p3<=x2;p3++)
   {
   f=0;
   for(z1=0;t2[p][p1][z1]!=‘#‘;z1++)
   p2++;
   for(z2=0;t2[p3][0][z2]!=‘#‘;z2++)
   p4++;
   if(p2==p4)
   {
   for(z1=0;t2[p][p1][z1]!=‘#‘;z1++)
   {
   for(z2=0;t2[p3][0][z2]!=‘#‘;z2++)
   {
   if(t2[p][p1][z1]==t2[p3][0][z2])
   f++;
   }
   }
   if(f!=p2)
   goto loop2;
   else
   {
   if(p1==2)
   goto loop3;
   else
   {
   p1=2;
   goto loop1;
   }
   }
   }
   }

    loop2: x2=x2+1;
   for(z2=0;t2[p][p1][z2]!=‘#‘;z2++)
   t2[x2][0][z2]=t2[p][p1][z2];
   for(z2=0;t2[x2][0][z2]!=‘#‘;z2++)
   {
   for(z1=0;t1[t2[x2][0][z2]][1][z1]!=‘#‘;z1++)
   {
   for(p4=0;t2[x2][1][p4]!=‘#‘;p4++)
   {
   f=0;
   if(t2[x2][1][p4]=t1[t

评论

共有 条评论