下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验二、动态内存分配、重载函数和内联函数的试验试验目的通过本试验掌握使用new和delete的运算符创建动态数组的方法.。并熟悉重载、内联函数的编写与调用,了解面向对象程序设计的多态性原理。试验要求要求独立完成。以WORD文档形式,在webcc上提交源程序和运行结果(图)。编程特别强调程序可读性,注意要有足够的注释;使用代码缩进格式;对齐及有合适的空行。试验内容1. 动态数组能实现按需定义数组的大小,节省内存。试参照书中的程序2-9编写一程序将一行任意个数以空格分隔的数值数据读到一个数组中,并输出数据的个数、最大值、最小值、平均值及过零的次数(相邻两个数据符号相反)。#include <
2、iostream>using namespace std;double max(double *data,int number ) /求最大值double i=0.0;i=*data;while(-number)data+;if(i<*data)i=*data;return i;double min(double *data,int number ) /求最小值double i=0.0;i=*data;while(-number)data+;if(i>*data)i=*data;return i;double average(double *data,int number)
3、/求平均值double sum=0.0;int i=number;while(number-)sum+=*data+;return sum/i;int postive(double *data,int number) /求正数的个数int i=0;while(number-)if(*data+>0)i+;return i;int main() double data, *p_data, *p_temp=NULL; int num=0,i; cout << "Type a line of numeric data(separated by space), press
4、Enter to end: n" do cin >> data;num+;p_data = new doublenum;if (p_data = NULL) cout << "Not enough memory from heap.n" return 0; if(p_temp = NULL) *p_data =data;else for (i=0; i < num-1; i+) *(p_data+i) = *(p_temp+i); p_datanum-1 = data; delete p_temp;p_temp = p_data; w
5、hile (cin.get()!='n');cout << "there are " << num << " numbers" << endl;cout<<"the max number is "<<max(p_data,num)<<endl;cout<<"the min number is "<<min(p_data,num)<<endl;cout<<"th
6、e average is "<<average(p_data,num)<<endl;cout<<"the postive number is "<<postive(p_data,num)<<endl; delete p_data; return 0;运行结果2. 编写一个程序,用同一个函数名求任意2个或3个整数中的最大公约数。要求用重载函数实现。#include<iostream>using namespace std;int commer(int a,int b) /求两个数的最大公约数in
7、t com=0;if(a<b)com=a;elsecom=b;while(com)if(a%com)|(b%com)com-;elsebreak;return com;int commer(int a,int b,int c) /求三个数的最大公约数int com=0;if(a<b&&a<c)com=a;elseif(b<a&&b<c)com=b;elsecom=c;while(com)if(a%com)|(b%com)|(c%com)com-;elsebreak;return com;int main() /主函数int num=
8、0,i,data=0;int *p_data,*p_temp=NULL;cout<<" 输入两个或者三个正数n" do cin >> data;num+;p_data = new intnum;if (p_data = NULL) cout << "Not enough memory from heap.n" return 0; if(p_temp = NULL) *p_data =data;else for (i=0; i < num-1; i+) *(p_data+i) = *(p_temp+i); p_datanum-1 = data; delete p_temp;p_temp = p_data; while (cin.get()!='n'); if(num=2) cout<<"the max commer divisor is "<<commer(*p_data,*(p_data+1)<<endl; else co
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生物标志物在药物临床试验中的应用案例
- 生物制品降解机制与稳定性试验关联研究
- 生物制剂在难治性儿童哮喘中的选择
- 生物制剂临床试验中受试者依从性提升方案
- 深度解析(2026)《GBT 20564.3-2017汽车用高强度冷连轧钢板及钢带 第3部分 高强度无间隙原子钢》
- 油气管网战略规划部总经理管理能力测试题含答案
- 教育行业教育咨询师面试题
- 快递员服务面试题及答案
- 深度解析(2026)《GBT 19369-2003草皮生产技术规程》
- 深度解析(2026)《GBT 19356-2003热喷涂 粉末 成分和供货技术条件》
- 2025年社保常识测试题库及解答
- 2025年铁路运输合同书
- 消防设施培训课件
- 疤痕子宫破裂护理查房
- 肾内科常见并发症的观察与应急处理
- 《马克思主义与社会科学方法论题库》复习资料
- DB33∕T 2320-2021 工业集聚区社区化管理和服务规范
- 学堂在线 人工智能原理 章节测试答案
- 地铁资料城市轨道交通设备系统控制中心
- 企业数字化转型发言稿
- GB/T 2878.2-2011液压传动连接带米制螺纹和O形圈密封的油口和螺柱端第2部分:重型螺柱端(S系列)
评论
0/150
提交评论