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://azwzsj.com/article/dsshgsp.html