河北工业大学C++实验报告实验五.docx

上传人:b****5 文档编号:4429626 上传时间:2022-12-01 格式:DOCX 页数:8 大小:56.50KB
下载 相关 举报
河北工业大学C++实验报告实验五.docx_第1页
第1页 / 共8页
河北工业大学C++实验报告实验五.docx_第2页
第2页 / 共8页
河北工业大学C++实验报告实验五.docx_第3页
第3页 / 共8页
河北工业大学C++实验报告实验五.docx_第4页
第4页 / 共8页
河北工业大学C++实验报告实验五.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

河北工业大学C++实验报告实验五.docx

《河北工业大学C++实验报告实验五.docx》由会员分享,可在线阅读,更多相关《河北工业大学C++实验报告实验五.docx(8页珍藏版)》请在冰豆网上搜索。

河北工业大学C++实验报告实验五.docx

河北工业大学C++实验报告实验五

1、已知下列主函数:

intmain()

{

cout<

cout<

cout<

return0;

}

声明求3个数中最小者的函数模板,并写出调用此函数模板的完整程序。

#include

usingnamespacestd;

template

Tmin(Ta,Tb,Tc)

{

Tmin;

if(a<=b)

min=a;

else

min=b;

if(min>=c)

min=c;

returnmin;

}

intmain()

{

cout<

cout<

cout<

return0;

}

2、编写一个求任意类型数组中最大元素和最小元素的程序,要求将求最大元素和最小元素的函数设计成函数模板,并写出调用此函数模板的完整程序,使得函数调用时,数组的类型可以是整型也可以是双精度类型。

#include

usingnamespacestd;

template

voidGetMaxMin(T*a,inttheSize)

{

TtmpMax=a[0];

TtmpMin=a[0];

for(inti=0;i

{

if(a[i]>tmpMax)

{

tmpMax=a[i];

}

if(a[i]

{

tmpMin=a[i];

}

}

cout<<"maxelemis"<

cout<<"minelemis"<

}

intc[]={1,2,3};

doubleb[]={1.1,2.2,3.3};

chard[]={'a','b','c'};

voidmain()

{

GetMaxMin(c,3);

GetMaxMin(b,3);

GetMaxMin(d,3);

}

3、编写一个函数模板,使用冒泡排序将数组内容由小到大排列并打印出来,并写出调用此函数模板的完整程序,使得函数调用时,数组的类型可以是整型也可以是双精度型。

#include

usingnamespacestd;

template

classpaixu

{

t*set;

intn;

public:

paixu(t*data,intm):

set(data),n(m){}

voidsort();

};

template

voidpaixu:

:

sort()

{

ttemp;

for(inti=0;i

for(intj=0;j

if(set[j]>set[j+1])

{

temp=set[j];

set[j]=set[j+1];

set[j+1]=temp;

}

for(intj=0;j

cout<

cout<

}

intmain()

{

inta[]={1,3,2,7,5,9};

doubleb[]={6.6,9.9,7.7,8.8,4.4,2.2};

paixup1(a,6);

p1.sort();

paixup2(b,6);

p2.sort();

charc[]={'a','c','r','b'};

paixup3(c,4);

p3.sort();

return0;

}

4、编写一个程序,使用类模板对数组元素进行排序、倒置、查找和求和。

【提示】

设计一个类模板

template

classArray

{

……

};

具有对数组元素进行排序、倒置、查找和求和功能,然后产生类型实参分别是int型和double型的两个模板类,分别对整型数组与双精度数组完成所要求的操作。

#include

#include

template

classArray

{

T*set;

intn;

public:

Array(T*data,inti){set=data;n=i;}

~Array(){}

voidsort();//排序

intseek(Tkey);//查找指定的元素

Tsum();//求和

voiddisp();//显示所有的元素

};

template

voidArray:

:

sort()

{

inti,j;

Ttemp;

for(i=1;i

for(j=n-1;j>=i;j--)

if(set[j-1]>set[j])

{

temp=set[j-1];set[j-1]=set[j];set[j]=temp;

}

}

template

intArray:

:

seek(Tkey)

{

inti;

for(i=0;i

if(set[i]==key)

returni;

return-1;

}

template

TArray:

:

sum()

{

Ts=0;inti;

for(i=0;i

s+=set;

returns;

}

template

voidArray:

:

disp()

{

inti;

for(i=0;i

cout<

cout<

}

voidmain()

{

inta[]={6,3,8,1,9,4,7,5,2};

doubleb[]={2.3,6.1,1.5,8.4,6.7,3.8};

Arrayarr1(a,9);

Arrayarr2(b,6);

cout<<"arr1:

"<

cout<<"原序列:

";arr1.disp();

cout<<"8在arr1中的位置:

"<

arr1.sort();

cout<<"排序后:

";arr1.disp();

cout<<"arr2:

"<

cout<<"原序列:

";arr2.disp();

cout<<"8.4在arr2中的位置:

"<

arr2.sort();

cout<<"排序后:

";arr2.disp();

}5、编写一个程序,求输入数的平方根。

设置异常处理,对输入负数的情况给出提示。

#include

#include

usingnamespacestd;

voidmain()

{

doublenumber;

cout<<"请输入一个数:

";

cin>>number;

try

{

if(number<0)

thrownumber;

cout<<"平方根是"<

}

catch(double)

{

cout<<"输入数为负数,错误!

"<

}

}

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1