面向对象程序设计实验报告 - 程侃

需积分: 0 0 下载量 131 浏览量 更新于2024-08-04 收藏 42KB DOCX 举报
"计本1701班的程侃同学在2018年10月18日完成了信息科学与工程学院的《面向对象程序设计》课程实验报告,该报告由教师张庆科指导。实验内容涉及动态内存分配、数组操作、统计与排序,以及动态内存的释放。" 在本次《面向对象程序设计》的实验中,程侃同学被分配到第五组,他需要完成一个基于C++的程序设计任务。这个任务要求利用new运算符动态分配一个包含20个整数的数组,并输入数据。在程序设计(a)部分,程侃需要实现以下功能: 1. 统计数组中正数和负数的个数:通过遍历数组,如果元素小于0则计数器a递增,若元素大于0则计数器b递增。 2. 计算数组元素的平均值(均值):将所有元素相加,然后除以数组长度(20)。 3. 计算数组元素的方差:首先计算平均值,然后遍历数组,用每个元素减去平均值的平方求和,再除以数组长度。 4. 对数组进行升序排序:使用冒泡排序算法,通过两层循环实现元素交换,使得每次循环后最大(或最小)的元素移到正确的位置。 5. 最后,使用delete运算符释放之前通过new分配的动态内存,确保内存管理的正确性。 在程侃同学的源码中,可以看到他使用了C++的标准库iostream和Windows.h。在main函数中,定义了指针p指向动态分配的数组,以及用于计算的辅助变量。他使用了for循环来遍历数组,实现了题目要求的各项统计和计算。值得注意的是,计算方差时,var是通过对每个元素与平均值之差的平方求和后除以20得到的。排序部分使用了冒泡排序算法,通过两个嵌套的for循环实现数组元素的交换。 这个实验旨在让学习者掌握动态内存管理、基本统计计算以及简单的排序算法,这些都是面向对象程序设计的基础,也是C++编程中的核心技能。通过这样的实践,学生能够更好地理解面向对象编程的原理,并将其应用到实际问题的解决中。
2024-11-29 上传