离散数学C语言上机题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//获取A卡氏积中序偶的第二元//获取第二元
OrderedCoupleInsertToCartersianSet(pC,createOrderedCouple(getFirstElemOfOrderedCouple(getCurrentCartersianSetElem(pA)),getSecondElemOfOrderedCouple(getCurrentCartersianSetElem(pB))) );
if(n==0)
{
for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA))
{for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA))
OrderedCoupleInsertToCartersianSet(pB,createOrderedCouple(getCurrentOriginalSetElem(pA),getCurrentOriginalSetElem(pA)));
}
return pB;
}
04
6.04③试设计一算法,求两个卡氏积集合的复合运算。
* @param pBinaryRelationR:卡氏积集合,该集合是一个pA上的二元关系
* @return:如果pBinaryRelationSet具有自反性;则返回true,否则返回false。
*/
boolean IsReflexivity(pOriginalSet pA, pCartersianSet pBinaryRelationR)
for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA))
{ //空卡←序偶插入←建立序偶←条件语句
for(resetOriginalSet(pB);!isEndOfOriginalSet(pB);nextOriginalSetPos(pB))
*/
pCartersianSet CompositeOperation(pCartersianSet pA, pCartersianSet pB)
{ pCartersianSet pC=creቤተ መጻሕፍቲ ባይዱteNullCartersianSet();
for(resetCartersianSet(pA);!isEndOfCartersianSet(pA); nextCartersianSetPos(pA))
{ pCartersianSet pC=createNullCartersianSet();
//获取IA
for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA))
{
for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA))
* @param pC:集合C
* @return:如果集合C是A到B的一个二元关系,则返回true,否则返回false。
*/
boolean isBinaryRelation(pOriginalSet pA, pOriginalSet pB, pCartersianSet pC)
{
pCartersianSet pD=createNullCartersianSet();
OrderedCoupleInsertToCartersianSet(pC,createOrderedCouple(getCurrentOriginalSetElem(pA),getCurrentOriginalSetElem(pA)));
}
return pC;
}
if(n==1)
{return pBinaryRelationR;}
}
return pC;
}
pCartersianSet PowOperation(pOriginalSet pA,
pCartersianSet pBinaryRelationR,
int n)
{
pCartersianSet pC=createNullCartersianSet();
pC=copyCartersianSet(pBinaryRelationR);
{ //空卡←序偶插入←建立序偶←条件语句
for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA))
if(getCurrentOriginalSetElem(pA)==getCurrentOriginalSetElem(pA))//The same elements
* @param pSet:原始集合
* @return:集合A上的恒等关系。
*/
pCartersianSet IdentityRelation(pOriginalSet pA)
{ pCartersianSet pB=createNullCartersianSet();
for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA))
if(isEqualOriginalSetElem(getSecondElemOfOrderedCouple(getCurrentCartersianSetElem(pA)),getFirstElemOfOrderedCouple(getCurrentCartersianSetElem(pB))))
OrderedCoupleInsertToCartersianSet(pC,createOrderedCouple(getCurrentOriginalSetElem(pA),getCurrentOriginalSetElem(pA)));
广东工业大学计算机科学与技术张法光
离散数学C语言上机题
Anyview
可视化编程作业系统
二元关系章节编程题
EX
01
6.01③试设计一算法,
实现集合的卡氏积运算。
实现下列函数:
/**
*进行两个集合的卡氏积运算
* @param pA:要进行卡氏积运算的集合
* @param pB:要进行卡氏积运算的集合
* @return:将pA和pB进行卡氏积运算后得到的集合
}
return pC;
}
05
6.05②试设计一算法,求一个关系的逆运算。
实现下列函数:
/**
*求一个关系的逆运算。
* @param pA:卡氏积集合
* @return: pA的逆运算结果。
*/
pCartersianSet InverseOperation(pCartersianSet pA)
{ pCartersianSet pB=createNullCartersianSet();
for(int i=1;i<n;i++)
{pC=CompositeOperation(pC,pBinaryRelationR); }
return pC;
}
07
6.02②试设计一算法,对某集合A上的一个二元关系R,判断R是否具有自反性。
实现下列函数:
/**
*判断一个关系是否具有自反性。
* @param pA:原始集合
}
return pB;
}
06
6.06④试设计一算法,对某集合A上的一个二元关系,求该关系的幂运算。
实现下列函数:
/**
*求一个关系的幂运算。
* @param pA:原始集合
* @param pBinaryRelationR:pA上的关系R
* @param n:幂运算的次数,且n >= 0
* @return: pBinaryRelationSet的n次幂运算结果。
*/
pCartersianSet CartesianProduct(pOriginalSet pA, pOriginalSet pB)
{
pCartersianSet pC=createNullCartersianSet(); //空卡
for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA))
{
if(isInCartersianSet(pD,getCurrentCartersianSetElem(pC)))
;//满足条件,执行空语句,继续循环
else return false;
}
return true;
}
03
6.03②试设计一算法,求集合A上的恒等关系。
实现下列函数:
/**
*给定集合A,求集合A上的恒等关系。
{
for(resetCartersianSet(pB);!isEndOfCartersianSet(pB); nextCartersianSetPos(pB))
if(isEqualOriginalSetElem(getSecondElemOfOrderedCouple(getCurrentCartersianSetElem(pA)),getFirstElemOfOrderedCouple(getCurrentCartersianSetElem(pB))))
{ //空卡←序偶插入←建立序偶←条件语句
for(resetOriginalSet(pB);!isEndOfOriginalSet(pB);nextOriginalSetPos(pB))
OrderedCoupleInsertToCartersianSet(pC,createOrderedCouple(getCurrentOriginalSetElem(pA),g
实现下列函数:
/**
*给定两个集合,求该两个集合的复合运算。
* @param pA:卡氏积集合
* @param pB:卡氏积集合
* @return: pA与pB的复合运算结果。
*/
pCartersianSet CompositeOperation(pCartersianSet pA, pCartersianSet pB)
for(resetCartersianSet(pA);!isEndOfCartersianSet(pA); nextCartersianSetPos(pA))
{OrderedCoupleInsertToCartersianSet(pB,createOrderedCouple(getSecondElemOfOrderedCouple(getCurrentCartersianSetElem(pA)),getFirstElemOfOrderedCouple(getCurrentCartersianSetElem(pA))) );
{ pCartersianSet pC=createNullCartersianSet();
for(resetCartersianSet(pA);!isEndOfCartersianSet(pA); nextCartersianSetPos(pA))
{
for(resetCartersianSet(pB);!isEndOfCartersianSet(pB); nextCartersianSetPos(pB))
//获取A卡氏积中序偶的第二元//获取第二元
OrderedCoupleInsertToCartersianSet(pC,createOrderedCouple(getFirstElemOfOrderedCouple(getCurrentCartersianSetElem(pA)),getSecondElemOfOrderedCouple(getCurrentCartersianSetElem(pB))) );
etCurrentOriginalSetElem(pB)));
}
return pC;
}
02
6.02②试设计一算法,
给定集合A、集合B和集合C,判断集合C是否为A到B的一个二元关系。
实现下列函数:
/**
*给定集合A、集合B和集合C,判断集合C是否为A到B的一个二元关系。
* @param pA:集合A
* @param pB:集合B
OrderedCoupleInsertToCartersianSet(pD,createOrderedCouple(getCurrentOriginalSetElem(pA),getCurrentOriginalSetElem(pB)));
}
for(resetCartersianSet(pC);!isEndOfCartersianSet(pC); nextCartersianSetPos(pC))
相关文档
最新文档