河北工业大学-C++实验报告实验五.doc_第1页
河北工业大学-C++实验报告实验五.doc_第2页
河北工业大学-C++实验报告实验五.doc_第3页
河北工业大学-C++实验报告实验五.doc_第4页
河北工业大学-C++实验报告实验五.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、已知下列主函数:int main() coutmin(10,5,3)endl; coutmin(10.2,5.6,3.8)endl; coutmin(a,b,c)endl; return 0;声明求3个数中最小者的函数模板,并写出调用此函数模板的完整程序。#includeusing namespace std;template T min(T a,T b,T c)T min;if(a=c)min=c;return min;int main() coutmin(10,5,3)endl;coutmin(10.2,5.6,3.8)endl;coutmin(a,b,c)endl;return 0;2、编写一个求任意类型数组中最大元素和最小元素的程序,要求将求最大元素和最小元素的函数设计成函数模板,并写出调用此函数模板的完整程序,使得函数调用时,数组的类型可以是整型也可以是双精度类型。#includeusing namespace std;templatevoid GetMaxMin(T *a, int theSize) T tmpMax = a0; T tmpMin = a0; for (int i = 0; i tmpMax) tmpMax = ai; if (ai tmpMin) tmpMin = ai; coutmaxelem is tmpMaxendl; coutminelem is tmpMinendl;int c=1,2,3;double b=1.1,2.2,3.3;char d=a,b,c;void main()GetMaxMin(c,3);GetMaxMin(b,3);GetMaxMin(d,3);3、 编写一个函数模板,使用冒泡排序将数组内容由小到大排列并打印出来,并写出调用此函数模板的完整程序,使得函数调用时,数组的类型可以是整型也可以是双精度型。#includeusing namespace std;templateclass paixut* set;int n;public:paixu(t* data,int m):set(data),n(m)void sort();templatevoid paixu:sort()t temp;for(int i=0;in;i+)for(int j=0;jsetj+1) temp=setj;setj=setj+1;setj+1=temp;for(int j=0;jn;j+)coutsetj ;coutendl;int main()int a=1,3,2,7,5,9;double b=6.6,9.9,7.7,8.8,4.4,2.2;paixup1(a,6);p1.sort();paixu p2(b,6);p2.sort();char c=a,c,r,b;paixup3(c,4);p3.sort();return 0;4、编写一个程序,使用类模板对数组元素进行排序、倒置、查找和求和。【提示】设计一个类模板templateclass Array ;具有对数组元素进行排序、倒置、查找和求和功能,然后产生类型实参分别是int型和double型的两个模板类,分别对整型数组与双精度数组完成所要求的操作。#include #include template class Array T *set; int n; public: Array(T *data,int i)set=data;n=i; Array() void sort(); / 排序 int seek(T key); / 查找指定的元素 T sum(); / 求和 void disp(); / 显示所有的元素 ; template void Array:sort() int i,j; T temp; for(i=1;i=i;j-) if(setj-1setj) temp=setj-1;setj-1=setj;setj=temp; template int Array:seek(T key) int i; for(i=0;in;i+) if(seti=key) return i; return -1; template T Array:sum() T s=0;int i; for(i=0;in;i+) s+=set; return s; template void Array:disp() int i; for(i=0;in;i+) coutseti ; coutendl; void main() int a=6,3,8,1,9,4,7,5,2; double b=2.3,6.1,1.5,8.4,6.7,3.8; Arrayarr1(a,9); Arrayarr2(b,6); cout arr1:endl; cout 原序列:; arr1.disp(); cout 8在arr1中的位置:arr1.seek(8)endl; arr1.sort(); cout 排序后:; arr1.disp(); coutarr2:endl; cout 原序列:; arr2.disp(); cout 8.4在arr2中的位置:arr2.seek(8.4)endl; arr2.sort(); cout 排序后:; arr2.disp(); 5、编写一个程序,求输入数的平方根。设置异常处理,对输入负数的情况给出提示。#include #include using namespace std;void main

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论