当前位置:文档之家› 离散数学C语言上机题

离散数学C语言上机题

广东工业大学计算机科学与技术张法光
离散数学C语言上机题
Anyview
可视化编程作业系统
二元关系章节编程题
EX
01
6.01③试设计一算法,
实现集合的卡氏积运算。
实现下列函数:
/**
*进行两个集合的卡氏积运算
* @param pA:要进行卡氏积运算的集合
* @param pB:要进行卡氏积运算的集合
* @return:将pA和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))
OrderedCoupleInsertToCartersianSet(pB,createOrderedCouple(getCurrentOriginalSetElem(pA),getCurrentOriginalSetElem(pA)));
}
return pB;
}
04
6.04③试设计一算法,求两个卡氏积集合的复合运算。
for(int i=1;i<n;i++)
{pC=CompositeOperation(pC,pBinaryRelationR); }
return pC;
}
07
6.02②试设计一算法,对某集合A上的一个二元关系R,判断R是否具有自反性。
实现下列函数:
/**
*判断一个关系是否具有自反性。
* @param pA:原始集合
OrderedCoupleInsertToCartersianSet(pC,createOrderedCouple(getCurrentOriginalSetElem(pA),getCurrentOriginalSetElem(pA)));
}
return pC;
}
if(n==1)
{return pBinaryRelationR;}
if(n==0)
{
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();
* @param pBinaryRelationR:卡氏积集合,该集合是一个pA上的二元关系
* @return:如果pBinaryRelationSet具有自反性;则返回true,否则返回false。
*/
boolean IsReflexivity(pOriginalSet pA, pCartersianSet pBinaryRelationR)
实现下列函数:
/**
*给定两个集合,求该两个集合的复合运算。
* @param pA:卡氏积集合
* @param pB:卡氏积集合
* @return: pA与pB的复合运算结果。
*/
pCartersianSet CompositeOperation(pCartersianSet pA, pCartersianSet pB)
OrderedCoupleInsertToCartersianSet(pD,createOrderedCouple(getCurrentOriginalSetElem(pA),getCurrentOriginalSetElem(pB)));
}
for(resetCartersianSet(pC);!isEndOfCartersianSet(pC); nextCartersianSetPos(pC))
* @param pSet:原始集合
* @return:集合A上的恒等关系。
*/
pCartersianSet IdentityRelation(pOriginalSet pA)
{ pCartersianSet pB=createNullCartersianSet();
for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA))
OrderedCoupleInsertToCartersianSet(pC,createOrderedCouple(getCurrentOriginalSetElem(pA),getCurrentOriginalSetElem(pA)));
}
return pC;
}
pCartersianSet PowOperation(pOriginalSet pA,
pCartersianSet pBinaryRelationR,
int n)
{
pCartersianSet pC=createNullCartersianSet();
pC=copyCartersianSet(pBinaryRelationR);
{
if(isInCartersianSet(pD,getCurrentCartersianSetElem(pC)))
;//满足条件,执行空语句,继续循环
else return false;
}
return true;
}
03
6.03②试设计一算法,求集合A上的恒等关系。
实现下列函数:
/**
*给定集合A,求集合A上的恒等关系。
{ //空卡←序偶插入←建立序偶←条件语句
for(resetOriginalSet(pB);!isEndOfOriginalSet(pB);nextOriginalSetPos(pB))
OrderedCoupleInsertToCartersianSet(pC,createOrderedCouple(getCurrentOriginalSetElem(pA),g
{ pCartersianSet pC=createNullCartersianSet();
//获取IA
for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA))
{
for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA))
*/
pCartersianSet CompositeOperation(pCartersianSet pA, pCartersianSet pB)
{ pCartersianSet pC=createNullCartersianSet();
for(resetCartersianSet(pA);!isEndOfCartersianSet(pA); nextCartersianSetPos(pA))
{ //空卡←序偶插入←建立序偶←条件语句
for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA))
if(getCurrentOriginalSetElem(pA)==getCurrentOriginalSetElem(pA))//The same elements
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
{
for(resetCartersianSet(pB);!isEndOfCartersianSet(pB); nextCartersianSetPos(pB))
if(isEqualOriginalSetElem(getSecondElemOfOrderedCouple(getCurrentCartersianSetElem(pA)),getFirstElemOfOrderedCouple(getCurrentCartersianS的第二元//获取第二元
OrderedCoupleInsertToCartersianSet(pC,createOrderedCouple(getFirstElemOfOrderedCouple(getCurrentCartersianSetElem(pA)),getSecondElemOfOrderedCouple(getCurrentCartersianSetElem(pB))) );
相关主题