利用状态转换图识别句子
输入任意文法,为其构造状态转换图,利用状态转换图识别句子
状态转换图计算机无法识别,我们就换成计算机可以识别的矩阵,利用矩阵来识别句子
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
const int N=60;
int main(){
int n,i,j,m=50,k;
int list_len;
char name[N];
printf("请输入文法个数:");
scanf("%d",&n);
char str[n][m];
char string;
for(i=0;i<n;i++){
printf("请输入第%d条文法:",i+1);
getchar();
k=1;
while(1){
scanf("%c",&string);
if((int)string==42) // 42 对应*,以*结束
{
str[i][0]=(char)(k-1);//二维数组的第0位放长度
printf("第%d个文法长度为%d: \n",i+1 ,str[i][0]);
printf("---------------------------------------------------------------------\n");
break;
}
else{