下载此文档

DFA源码.doc


文档分类:IT计算机 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
#include"iostream"
#include"fstream"
using namespace std;
/////////////////////////////记录DFA状态的各个参数部分////////////////////////////////
int m,n,k;
char* zfj; //字符集
int begin; //开始状态
int**move; //转移矩阵
int* acc_ztj; //接受状态集
///////////////////////////使用的各个函数声明部分//////////////////////////////////
void frame(); //开始页面
void DfaBuild(); //生成DFA
void DfaLoad(); //读入DFA
bool ztj(int );// 判断是否属于接受状态集
int T(int , char ); //转移函数
void check();//判定算法
void check1(char *,int ,char []);//列举算法中使用的修改后的判定算法
void list( ); //列举可接受串算法
void accept(); //接受串
void error(); //拒绝串
////////////////////////////主函数部分/////////////////////////////////
void main() //主函数
{
frame(); //调用主框架
}
/////////////////////////各个函数定义部分///////////////////////////
void frame() //主框架定义
{
cout<<"请选择操作:"<<endl<<endl;
cout<<"1、生成DFA 2、读入DFA 3、退出"<<endl;
switch(getchar()){
case '1':
DfaBuild();
break;
case '2':
DfaLoad();
break;
case '3':
exit(0);
break;
default:
system("cls");
frame();
}
}
void DfaBuild() //新建DFA函数定义
{

system("cls");
cout<<"输入要生成的DFA信息:"<<endl;


cout<<"请输入字符集个数:"<<endl;
cin>>m;
zfj=new char[m+1];

cout<<"请输入"<<m<<"个字符"<<endl;
for(int i=0;i<m;i++)
{
cin>>zfj[i];
}
cout<<"请输入状态集个数:"<<endl;
cin>>n;
move=new int*[n];
for (i=0;i<n;i++)
{
move[i]=new int[m+1];
}
for (i=0;i<n;i++)
{
move[i][0]=i;
}
cout<<

DFA源码 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xunlai783
  • 文件大小44 KB
  • 时间2018-08-17
最近更新