博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
有穷自动机的转换
阅读量:4325 次
发布时间:2019-06-06

本文共 2286 字,大约阅读时间需要 7 分钟。

1 #include
2 main() 3 { 4 int i=0,j=0,x=0,y; 5 int number=2; 6 int count=0; 7 char ch; 8 char a[100][100]; 9 printf("请输入正规式以#结束 :\n");10 printf("^代表空\n");11 printf("|代表或\n");12 ch=getchar();13 do14 {15 if(ch=='|') 16 {17 a[i][j]='\0';18 j=0;19 i++;20 ch=getchar();21 continue;22 }23 a[i][j]=ch;24 j++;25 ch=getchar();26 }while(ch!='#');27 a[i][j]='\0';28 for(x=0;x<=i;x++)29 {30 y=0;31 count=1;32 while(a[x][y]!='\0')33 {34 if(a[x][y]=='.')35 {36 37 if(a[x][y]=='.'&& count==1) 38 {39 printf("f(0,%c)=%d\n",a[x][y-1],number);40 if(a[x][y+2]=='\0')41 printf("f(%d,%c)=1\n",number,a[x][y+1]);42 number++;43 count=2;44 }45 46 else if(a[x][y]=='.'&& count!=1)47 {48 49 printf("f(%d,%c)=%d\n",number-1,a[x][y-1],number);50 if(a[x][y+2]=='\0')51 printf("f(%d,%c)=1\n",number,a[x][y+1]);52 number++;53 }54 }55 if(a[x][y]=='*')56 {57 if(a[x][y]=='*'&& count==1)58 {59 printf("f(0,^)=%d\n",number);60 printf("f(%d,%c)=%d\n",number,a[x][y-1],number);61 if(a[x][y+1]=='\0')62 printf("f(%d,^)=1\n",number);63 else64 printf("f(%d,^)=%d\n",number,number+1);65 number++;66 count=2;67 }68 69 else if(a[x][y]=='*'&& count!=1)70 {71 72 printf("f(%d,%c)=%d\n",number,a[x][y-1],number);73 if(a[x][y+1]=='\0')74 printf("f(%d,^)=1\n",number);75 else76 printf("f(%d,^)=%d\n",number,number+1);77 number++;78 }79 }80 y++;81 }82 }83 84 }

 

转载于:https://www.cnblogs.com/crx234/p/6188540.html

你可能感兴趣的文章
CMD获取当前目录的绝对路径
查看>>
HTML5新规范和CSS3新特性
查看>>
使用php后台给自己做一个页面路由,配合ajax实现局部刷新。
查看>>
类与对象(二)
查看>>
NSString 的常用方法
查看>>
mysql的engine不同,导致事物回滚失败的问题
查看>>
JAVAWeb使用POI做导出Excel
查看>>
今天解决了首页无头像被显示的问题
查看>>
charts 画折线图
查看>>
[py]__name__ 属于哪个文件
查看>>
技术分析淘宝的超卖宝贝
查看>>
i++和++1
查看>>
react.js
查看>>
实验四【bx】和loop的使用
查看>>
P1313 计算系数
查看>>
myBatis之入门示例
查看>>
tensorflow 变量共享
查看>>
NSString的长度比较方法(一)
查看>>
初识JavaScript
查看>>
Azure云服务托管恶意软件
查看>>