《人工智能—子句消解》由会员分享,可在线阅读,更多相关《人工智能—子句消解(6页珍藏版)》请在金锄头文库上搜索。
1、#iiiclude#iiiclude#iiiclude#iiicludedefine N 50define M 50void ReplaceStrmg(chai *Src,char *a,chai *b)chai- *ptr;mt len = strlen(Src);pti = (chai*)malloc(sizeof(char)*len + 10);strcpy(ptr, Src);mt subLen_a = strlen(a);int subLen_b=stilen(b);int j;int k=su bLen_b - su bLen_a;fbi (int 1=0; ilen; i+ )i
2、f ( 0=stnicmp(&ptri, a, subLen_a)(fbr(j=i+subLen_a J len;j+)pu|j+k=ptrlj;stmcpy(&ptri, b, subLen.b);)ptilen+k=敏;strcpy(Sic.ptr);void xiaojie(char a,char b)chaiANN.BNN;int n=0,m=0,i,j;int lenth-a=strlen(a)Jenth_b=stiien(b);fbr(i=O ;ilenth_a; i+)if(ai!=V)(Anm=ai;mi;) elseAnm=0,;m=0;n+;)Aiim=MT;nit k=n
3、;/A的记录行数n=O,m=O;fbr(i=O ;ilenth_b;i+)iRbi!=V)(Bnm=bi;mi;else(Bnm=O,;m=0;n+;)Bnm=,O,;nit i=n;/B的记录行数检查两子句是否含有互补对fbr(n=O ;n=k;n+)fbr(m=O ;m=r;m-H-)(if(B m 0=2)&(B ml =A 回0)/ 出现互补对(置换char xNN,yNN;mt g=0,h=0;lenth_a=stilen(An);lenth_b=strlen(B m);fbr(i=2 ;itut=t).tqj 的=H (T+TvlTV)Ad3.ns可啾互芋 g/(+T=T:n=T)
4、.TOJ:(tA tx、rv)2nT.ns3oujdQa(+牛匚0=阮!lpiT9Txll/HTXjnoo(TK)g【.Tis(Tx)u 斗nsT(:(tx、t於Cq)SuT.ns30uid(+rj=po=O.TQ;:IPU3tAu/4lTxjnoo(TA)gmS=v(TX)U 斗T1S)JT) 射慕(+茂=t:o=t nn).ioj -.O.=qSA(o=q-.O,=qSAssp(:+qTuq=qA(.=iTug)JT)(+r T-qqni3|T=T).T0J :o=wo=3 -0V=M3x5o=q:o,=q8x:lpu3TAu/HTxjnoo)(TA)nq.ns=t:o=t)iQJ;o,=
5、q3A(o=q -.OV=qSA ) ssp :+qTuq=qA)(.=iTug)JT)(+T:q-qnT3iT=T).T0; :0=叶0=3 -.o.=qSx(o=q :,o,=q8x ) ssp :+qjnV=MSx)C.=iTuV)JT) (+T!uqnTQIT=T).TOJ XW a)g.ns=q-ipg n v)n3j.ns=eipuQj:0=W0=8 nn MMAlNLlMx Jcqo) (0 ra g= T U v)55C-.=0 M V)J! spfoi(j=Oj=rj+)ReplaceStnng(Bj ,yi, xi);if(strlen(xi)stilen(yi)(cout
6、H&Mendl;coutyi,7Hx 国 vendl;for(j=Oj=kj+)ReplaceStnng(Aj ,xi, yi);for(i=n;iv=k;i+) 消去互补对sticpy(Ai,Ai+l);k=k.l;fbi(i=m;i=r;i+)strcpy(Bi,Bi+l);i-r-1;)else continue;ijij输出结果coutH消解后的字句为:endl;fbr(n=O ;n v=k;iiTjcoutAnHVn;fbr(m=0;coutBmNVH;coutBmen dl;void main()char aN.bN;cout请输入所要消解的第一个子句:”endl;ciiia;cout请输入所要消解的第二个子句:”endl;ciiib;xiaojie(a.b);运行结果:DA学习钦4MSDev9趴MyPmject戏子句消解Dja备输入所要消解的第一个子句; Px,f(y)VQ(x)VR(f(a),y) 请输入所要消解的第二个子句: P f (f (a), zVR(z, w) f (f (a) /xf(y)/z消解后的字句为:Q(f (f (a)VR(f (a), y)VR(f (y), w) Press any key to continuern