设为首页 加入收藏

TOP

实验项目1――三元组ADT
2014-11-23 23:24:01 来源: 作者: 【 】 浏览:1
Tags:实验 项目 三元 ADT

实验内容
[问题描述]
设计实现抽象数据类型“三元组”。每个三元组由任意三个实数的序列构成,基本操作包括:创建一个三元组,取三元组的任意一个分量,置三元组的任意一个分量,求三元组的最大分量,求三元组的最小分量,两个三元组的对应分量相加或相减,给三元组的各分量同乘一个比例因子,显示三元组,销毁三元组等。
[基本要求]
实现创建一个三元组,取三元组的任意一个分量,置三元组的任意一个分量,求三元组的最大分量,求三元组的最小分量,显示三元组等基本操作。
【代码】
#include
using namespace std;
template class Triple
{
private:
Elem e1;
Elem e2;
Elem e3;
public:
Triple(Elem v1,Elem v2,Elem v3)
{
e1=v1;
e2=v2;
e3=v3;
}
Elem Get(int i)//初始条件:三元组已经存在,1≤i≤3;操作结果:返回三元组的第i个分量
{
if(i >= 1 && i <=3)
{
Elem a[3]={e1,e2,e3};
return a[i-1];
}
else
{
cout<<"\n";
cout<<"错误,输入值范围是1~3"< }
}

bool Put(int i,Elem e)//初始条件:三元组已经存在,1≤i≤3;
//操作结果:将三元组的第i个分量赋值为e,成功返回true,否则返回false
{
if(i >= 1 && i <=3)
{
if(i==1)
e1=e;
else if(i==2)
e2=e;
else if(i==3)
e3=e;
return true;
}
else
return false;
}
Elem GetMax()//初始条件:三元组已经存在,操作结果:返回三元组中最大分量值e
{
Elem a[3]={e1,e2,e3};
Elem max=a[0];
if(a[1]>a[0])
max=a[1];
if(a[2]>max)
max=a[2];
return max;

}

Elem GetMin()//初始条件:三元组已经存在,操作结果:返回三元组中最小分量值e
{
Elem a[3]={e1,e2,e3};
Elem min=a[0];
if(a[1] min=a[1];
if(a[2] min=a[2];
return min;
}

void Output()//初始条件:三元组已经存在,操作结果:输出三元组中所有分量值
{
Elem a[3]={e1,e2,e3};
cout<<"现在三元组所有分量值为:";
for(int i=0;i<3;i++)
cout< }

Elem Sum(int i,int j)//输入进行相加运算的序号,返回相加后的结果
{
Elem a[3]={e1,e2,e3};
return a[i-1]+a[j-1];
}

void Proportion(float a,float b,float c)//三元组的各分量同乘一个比例因子
{
e1=e1*a;
e2=e2*b;
e3=e3*c;
}

void Destroy()//销毁三元组
{
e1=0;
e2=0;
e3=0;
cout<<"三元组已初始化为0";
}
};
//测试
int main()
{
Triple t(10,33,-44);
cout<<"测试结果:"< cout<<"三元组第一个数为:"< t.Output();

cout<<"\n";
cout<<"\n将第一个数修改为55后";
t.Put(1,55);
t.Output();

cout<<"\n";
cout<<"\n三元组最大值为:"< cout<<"三元组最小值为:"<
cout<<"\n";
t.Output();
cout<<"\n三元组中第一个和第三个数的和为:"<
cout<<"\n";
cout<<"\n为三元组中各元素分别乘以0.1,0.4,0.5后";
t.Proportion(0.1,0.4,0.5);
cout<<"\n";
t.Output();

cout<<"\n";
cout<<"\n销毁三元组"< t.Destroy();
cout<<"\n";
t.Output();
system("pause");
}
注:以上内容仅供参考,如有问题请指正。
作者“心海新航”

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇实验项目2――复数四则运算 下一篇插入排序

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: