unify算法

  • K5_100417
    了解作者
  • 244.9KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-04-22 04:06
    上传日期
unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法
unify算法.zip
  • ainext
  • Debug
  • ffffff.obj
    10.3KB
  • ainext.pdb
    419KB
  • ainext.exe
    116KB
  • BuildLog.htm
    2.3KB
  • ainext.ilk
    406.3KB
  • vc70.pdb
    60KB
  • vc70.idb
    27KB
  • ainext.sln
    901B
  • ffffff.cpp
    3.5KB
  • ainext.vcproj
    3.3KB
  • ainext.suo
    11KB
  • ainext.ncb
    35KB
  • www.pudn.com.txt
    218B
内容介绍
#include<stdio.h> #include<malloc.h> #include<string.h> #define NIL "\n" #define FAIL 0 const int TRUE=1; const int FALSE=0; int is_atmo(char*); //void change(char*,char*); int is_equal(char*,char*); int is_varible(char*); int is_appear(char*,char*); char*getfirst(char*,char*); char* replace(char*,char,char); char*Union(char*,char*); char*UNIFY(char*,char*); void main() { char *E1=(char*)malloc(5*sizeof(char)); char *E2=(char*)malloc(5*sizeof(char)); // printf("清输入E1,形式为:x,A,B,z\n"); // scanf("%c,%c,%c,%c",E1,E1+1,E1+2,E1+3); printf("请输入E1,形式为:xABz\n"); scanf("%s",E1); *(E1+4)='\0'; printf("请输入E2,形式为:Bxyz\n"); // scanf("%c,%c,%c,%c",E2,E2+1,E2+2,E2+3); scanf("%s",E2); *(E2+4)='\0'; printf("%s",UNIFY(E1,E2)); } int is_atmo(char* E) { if(*(E+1)=='\0') return TRUE; else return FALSE; } /* void change(char*e1,char*e2) { int i=0; char c; while((*e1+i)!='\0') { c=*(e1+i); *(e1+i)=*(e2+i); *(e2+i)=c; i++; } }*/ int is_equal(char *e1,char *e2) { if(*e1==*e2) return TRUE; else return FALSE; } int is_varible(char *c) { if((*c)>=97&&(*c)<=122) return TRUE; else return FALSE; } int is_appear(char *e1,char *e2) { if(!strstr(e1,e2)) return FALSE; else return TRUE; } char*getfirst(char *e1,char *e2) { char*p2=(char*)malloc(2*sizeof(char)); char*p=(char*)malloc(4*sizeof(char)); p=e1+1; strcpy(e2,p); *p2=*e1; *(p2+1)='\0'; return p2; } char* replace(char *e,char c,char a) { int i=0; char*p=(char*)malloc(5*sizeof(char)); p=e; while(*(p+i)!='\0') { if(*(p+i)==a) *(p+i)=c; i++; } return p; } char*Union(char*Z1,char*Z2) { int i=0,j=0; if(*Z1=='\n'&&*Z2=='\n') return "\n"; char*p=(char*)malloc(5*sizeof(char)); while(*(Z1+i)!='\0'&&*(Z1+i)!='\n') { *(p+i)=*(Z1+i); i++; } while(*(Z2+j)!='\0'&&*(Z2+j)!='\n') { *(p+i+j)=*(Z2+j); j++; } *(p+i+j)='\0'; return p; } char*UNIFY(char *E1,char *E2) { char *T1=(char*)malloc(10*sizeof(char)); char *T2=(char*)malloc(10*sizeof(char)); char *G1=(char*)malloc(10*sizeof(char)); char *G2=(char*)malloc(10*sizeof(char)); char *Z1=(char*)malloc(10*sizeof(char)); char *Z2=(char*)malloc(10*sizeof(char)); char *F1=(char*)malloc(2*sizeof(char)); char *F2=(char*)malloc(2*sizeof(char)); char *res=(char*)malloc(10*sizeof(char)); // if(is_atmo(E2)) // change(E1,E2); if(is_atmo(E1)) { if(is_equal(E1,E2)) return NIL; if(is_varible(E1)) { if(is_appear(E2,E1)) return FAIL; *res=*E2; *(res+1)='\\'; *(res+2)=*E1; *(res+3)='\0'; return res; } if(is_varible(E2)) { *res=*E1; *(res+1)='\\'; *(res+2)=*E2; *(res+3)='\0'; return res; } return FAIL; } F1=getfirst(E1,T1); F2=getfirst(E2,T2); Z1=UNIFY(F1,F2); if(Z1==FAIL) return FAIL; G1=replace(T1,*Z1,*(Z1+2)); G2=replace(T2,*Z1,*(Z1+2)); Z2=UNIFY(G1,G2); if(Z2==FAIL) return FAIL; return Union(Z1,Z2); }
评论
    相关推荐
    • 程序员算法
      这是一个算法文档压缩包,其中包括《可能与不可能的边界》、《具体数学》、《算法的乐趣》、《啊哈!算法》。这些书很适合对算法感兴趣的朋友,书籍讲解算法非常有趣。注意,其中有些文档是试读版本。
    • 算法实验
      算法实验算法实验算法实验算法实验算法实验算法实验算法实验算法实验
    • 大数据算法
      本书共分为10章,第1章概述大数据算法,第2章介绍时间亚线性算法,第3章介绍空间亚线性算法,第4章概述外存算法,第5章介绍大数据外存查找结构,第6章讲授外存图数据算法,第7章概述MapReduce算法,第8章通过一系列...
    • 算法
      算法 算法
    • SIFT 算法
      SIFT 算法SIFT 算法SIFT 算法SIFT 算法
    • RSA算法
      RSA算法是公钥加密算法中重要的算法之一,本算法即实现RSA的加解密过程。
    • 分词算法介分词算法
      算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语...
    • 寻路算法
      寻路算法 寻路封装
    • dsp算法算法算法算法
      dsp各种算法
    • SIM800C_MQTT.rar
      使用SIM800C模块,使用MQTT协议,连接中国移动onenet平台,能实现数据的订阅、发布、存储等