c语言集合函数,C语言中如何表示集合

C语言 定义一个函数实现两个集合的相加运算。(用链表的方式实现)

#include #include #include #define N 7 typedef enum { add, nul, sub, div1, yu, l, r }OP; int a[N][N] = { { 0, 0, -1, -1, -1, 1, 2 }, { 0, 0, -1, -1, -1, 1, 2 }, { 1, 1, 0, 0, 0, 1, 2 }, { 1, 1, 0, 0, 0, 1, 2 }, { 1, 1, 0, 0, 0, 1, 2 }, }; int top; OP beg; int b[1024]; OP op[1024]; void init_nu( ){ top = 0; } void push_nu( int term ){ b[top++] = term; } int pop_nu( ){ return b[--top]; } int is_empty_nu( ){ return top == 0; } void destory_nu( ) { top = 0; } void init_sign( ){ beg = 0; } void push_sign( OP sign ){ op[beg++] = sign; } void destory_sign( ){ beg = 0; } OP pop_sign( ){ return op[--beg];} OP get_sign( ){ return op[beg - 1]; } int is_empty_sign( ){return beg == 0; } int eval() { int i, j; i = pop_nu(); j = pop_nu(); switch( pop_sign() ) { case '+': push_nu( j + i ); break; case '-': push_nu( j - i ); break; case '*': push_nu( j * i ); break; case '/': push_nu( j / i ); break; case '%': push_nu( j i ); break; defult: break; } } int change( char *s ) { int i; int n = strlen( s ); for( i = 0; i n; i++ ) { if( s[i] = '0' s[i] = '0' s[i] = '9' ) push_nu( 10 * pop_nu() + s[i++] - '0' ); switch( s[i] ) { case '+': while( a[add][get_sign()] = 0 ) eval(); push_sign( add ); break; case '-': while( a[nul][get_sign()] = 0 ) eval(); push_sign( nul ); break; case '*': while( a[sub][get_sign()] = 0 ) eval(); push_sign( sub ); break; case '/': while( a[div1][get_sign()] = 0 ) eval(); push_sign( div1 ); break; case '%': while( a[yu][get_sign()] = 0 ) eval(); push_sign( yu ); break; case '(': push_sign( l ); break; case ')': while( (get_sign()) != l ) eval(); pop_sign(); break; defult: break; } } return pop_nu(); } int main( void ) { char *s = "((5-3)*2+4/22+1)"; init_nu(); init_sign(); printf( "%d\n", change( s )); destory_nu(); destory_sign(); return 0; } 以前编的,希望对你有帮助。别忘了给我分。

创新互联建站专业为企业提供甘州网站建设、甘州做网站、甘州网站设计、甘州网站制作等企业网站建设、网页设计与制作、甘州企业网站模板建站服务,10多年甘州做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

C语言函数的特点及其定义?

C语言中一个函数(function)是一个可以从程序其它地方调用执行的语句块。

1、通过使用函数(functions)我们可以把我们的程序以更模块化的形式组织起来,从而利用C语言所支持的结构化程序设计。

2、从数学角度,函数即集合A和集合B之间的映射关系。实际上计算机中的函数概念也是源于此,因此,一般函数,都有形参和返回值。

3、从计算机组成原理的角度来看,函数即是一个小型的计算机系统,依据冯诺伊曼的“存储程序原理”,每一个计算机系统包含:输入系统、输出系统、运算器以及控制器,实际上对于C语言中的函数来说,它是“存储程序原理”的软实现,其中形参、实参这是输入系统,返回值是输出系统,函数体中的运算符,比如+、-、*、/四则运算即为运算器,而逻辑运算符以及if、while等控制语句便是一个控制器。

用c语言给定两个整数集合 a,b. 分别编写函数求这两个集合的并集(剔除重复元

#includeiostream

using namespace std;

class MergeList

{

int *a;

int size;

public:

MergeList(int size,int init)

{

this-size=size;

a=new int[size];

for(int i=0;isize;i++)

{

a[i]=init;

}

}

MergeList()

{

}

MergeList(const MergeListobj)

{

this-size=obj.size;

a=new int[size];

for(int i=0;isize;i++)

a[i]=obj.a[i];

}

void SetData(intindex, intdata)

{

a[index]=data;

}

intGetSize(){return size;}

~MergeList()

{

delete []a;

}

MergeListoperator=(const MergeListobj)

{

this-size=obj.size;

a=new int[size];

for(int i=0;isize;i++)

a[i]=obj.a[i];

return *this;

}

bool Is_Same(int element);

MergeList AddList(const MergeListobj);

void Show()

{

for(int i=0;isize;i++)

couta[i]" ";

coutendl;

}

};

bool MergeList::Is_Same(int element)

{

for(int i=0;isize;i++)

{

if(a[i]==element)

return true;

}

return false;

}

MergeList MergeList::AddList(const MergeListobj)

{

MergeList C;

 int m=0,i=0;

 C.size=size+obj.size;

 C.a=new int[C.size];

 if(sizeobj.size||(size==obj.size))

 {

 for(i=0;isize;i++)

 {

 C.a[i]=a[i];

 }

 }

 else

 {

 for(i=0;iobj.size;i++)

 {

 C.a[i]=obj.a[i];

 }

 }

for(int j=0;jobj.size;j++)

{

if(!this-Is_Same(obj.a[j]))

{

C.a[i+m]=obj.a[j];

m++;

}

}

C.size=i+m;

return C;

}

int main()

{

int LengthA,LengthB;

cout"input length a:";

cinLengthA;

cout"input length b:";

cinLengthB;

MergeList A(LengthA,2),B(LengthB,2),C;

cout"input A:"endl;

for(int i=0;iA.GetSize();i++)

{

int a;

cina;

A.SetData(i,a);

}

cout"input B:"endl;

for(int j=0;jB.GetSize();j++)

{

int b;

cinb;

B.SetData(j,b);

}

C=A.AddList(B);

cout"合并后:"endl;

C.Show();

}

C语言中的函数是什么意思

函数是数学名词,代数式中,凡相关的两数X与Y,对于每个X值,都只有一个Y的对应值。这种对应关系就表示Y是X的函数。

函数(function)的定义通常分为传统定义和近代定义,函数的两个定义本质是相同的,只是叙述概念的出发点不同,传统定义是从运动变化的观点出发,而近代定义是从集合、映射的观点出发。

函数的近代定义是给定一个数集A,假设其中的元素为x,对A中的元素x施加对应法则f,记作f(x),得到另一数集B,假设B中的元素为y,则y与x之间的等量关系可以用y=f(x)表示,函数概念含有三个要素:定义域A、值域B和对应法则f。其中核心是对应法则f,它是函数关系的本质特征。

函数,最早由中国清朝数学家李善兰翻译,出于其著作《代数学》。之所以这么翻译,他给出的原因是“凡此变数中函彼变数者,则此为彼之函数”,也即函数指一个量随着另一个量的变化而变化,或者说一个量。

C语言怎么用函数求集合的交集

首先,如果是数学上的集合概念,那就说明,集合A自身的每个元素都不相同。

那么,程序就可以简化成,

设数组key[52],用于记录字母出现次数。

扫描一次集合A,把出现的字母计到key的对应位置里。

同理扫描一次集合B。

查看key数组,=2的对应字母输出到集合C,C就是所求交集。


分享标题:c语言集合函数,C语言中如何表示集合
文章URL:http://scjbc.cn/article/dsshgsp.html

其他资讯