⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 离散1.cpp

📁 这是离散数学中集合与图论部分的算法实现 压缩包中有六个算法
💻 CPP
字号:
#include <stdio.h>
#define N 100
void jiao(char *a,char *b,char *c)  //交集
{ int i,j;
  int k=0;
  for(i=0;i<N;i++)
    for(j=0;j<N;j++)
		if(b[j]==a[i])
		{c[k++]=b[j];
			break;}
		c[k]='\0';
}
int  Shu(char a,char *d)   //验证是否的在集合中
{ int  i;
  for(i=0;i<N;i++)
  if(d[i]==a)
  return 1;
  return 0;
}
void  Bu(char *a,char *e,char *c)   //补集
{ int i;
  int k=0;
  for(i=0;i<N;i++)
	  if(!Shu(e[i],a))
       c[k++]=e[i];
  c[k]='\0';
}
void bin(char *a,char *b,char *c)  //并集
{ int i,j;
  int k=0;
  char d[N];
  jiao(a,b,d);          //交集
  for(i=0;i<N;i++)
	  if(!Shu(a[i],d))
         c[k++]=a[i];
  for(j=0;j<N;j++)
       c[k++]=b[j];
  c[k]='\0';
}
void Print(char *c)   //打印
{puts(c);
 
}
void h1()       //A^~b
{ char a[N];
  char b[N];
  char e[N];
  char d[N];
  char c[N];
  printf("please input A[]=");
  gets(a);//读入回车 
  gets(a);
  printf("please input B[]=");
  gets(b);
  printf("please input E[]=");
  gets(e);
  Bu(b,e,c);
 jiao(a,c,d);
  printf("A^~B=");
  Print(d);
}
void h2()          //(A^B)U~C 
{ char a[N];
  char b[N];
  char e[N];
  char d[N];
  char c[N];
  char f[N];
  char g[N];
  printf("please input A[]=");
  gets(a);
  gets(a);
  printf("please input B[]=");
  gets(b);
  printf("please input C[]=");
  gets(c);
  printf("please input E[]=");
  gets(e);
  jiao(a,b,d);
  Bu(c,e,g);
  bin(d,g,f);
  printf("(A^B)U~C=");
  Print(f);
}
void h3()         //A-(BUC)
{char a[N];
  char b[N];
  char e[N];
  char d[N];
  char c[N];
  printf("please input A[]=");
  gets(a);
  gets(a);
  printf("please input B[]=");
  gets(b);
  printf("please input C[]=");
  gets(c);

  bin(b,c,d);
  Bu(d,a,e);
  printf("A-(BUC)=");
  Print(e);
}
void h4()					//A+B
{ char a[N];
  char b[N];
  char t1[N],t2[N],t3[N];
  printf("please input A[]=");
  gets(a);
  gets(a);
  printf("please input B[]=");
  gets(b);
  Bu(a,b,t1);
  Bu(b,a,t2);
  bin(t1,t2,t3);
  printf("A+B=");
  Print(t3);
}

void main()        
{ 
	int t=0;
    int k=1;
    char z='y';
       while(z=='y')
  { 
		   printf(" please choose:1.A^~B  2.(A^B)U~C   3.A-(BUC)  4.A+B\n");
           scanf("%d",&t);
	          if(t==1)
			  {h1();}
	         else if(t==2)
			 {h2();}
	              else if(t==3)
				  {h3();}
	                   else if(t==4)
					   {h4();}
    printf(" Do you want go on?--yes(y) no(n)");
	scanf("%c",&z);
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -