一.作业题目
实验题目
试仿照三元组或复数的抽象数据类型写出有理数抽象数据类型的描述 (有理数是其分子、分母均为整数且分母不为零的分数)。
有理数基本运算如下所示:
•1.构造有理数T,元素e1,e2分别被赋以分子、分母值
•2.销毁有理数T
•3.用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母。
•4.将有理数T的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母
•5.有理数T1,T2相加,结果存入有理数T3
•6.有理数T1,T2相减,结果存入有理数T3
•7.有理数T1,T2相乘,结果存入有理数T3
•8.有理数T1,T2相除,结果存入有理数T3
二、博客作业要求
1.作业内容
用ADT的抽象数据模型描述你的有理数数据类型:
ADT Rational{
数据对象:
D={e2,e2|e1,e2属于ElemType类型}
数据关系:
R1={<e1,e2>} R2={<T1,T2>,<T2,T3>}
基本运算:
InitTriplet(Rational &T, ElemType v1, ElemType v2);
//操作结果:构造了有理数T,分子分母e1,e2的值分别被赋以参数v1,v2的值。
DestroyRational(Rational &T);
//操作结果:有理数T被销毁。
Get(Rational T, int i, ElemType &e);
//操作结果:用e返回分子或分母的值 ,i为1是返回分子,i为2时返回分母
Put(Rational &T, int i, ElemType e);
//操作结果:改变分子或分母的值为e,i为1时改变分子,i为2时改变分母
AddRational(Rational &T1,Rational &T2,Rational &T3);
//操作结果:将T1,T2相加,结果存入T3
SubRational(Rational &T1,Rational &T2,Rational &T3);
//操作结果:将T1,T2相减,结果存入T3
MulRational(Rational &T1,Rational &T2,Rational &T3);
//操作结果:将T1,T2相乘,结果存入T3
DivRational(Rational &T1,Rational &T2,Rational &T3);
//操作结果:将T1,T2相除,结果存入T3
}ADT Rational
2.数据结构、函数说明
头文件:
函数: