VC++二文数组问题
需求分析
编写一个在具有m行n列的二文数组各元素中找出最大元和最小元并显示在屏幕上的函数模板,并通过主函数对它进行调用以验证其正确性
2. 概要设计
可设计该函数模板的原型为:
template <class Type> void maxMin (Type *A, int m, int n );
其中二文数组A的元素类型为Type,数组A具有m行n列。
注意:函数模板maxMin中要处理二文数组A的m行n列的诸元素,但设计第一参数传递过来的是Type*类型的首元素指针,所以具体处理时可以按照如下的“一文数组”方式来进行(共处理m乘以n个数据 -- 也即二文数组A的m行n列的诸元素。注意,二文数组的诸元素在内存中是按行连续存放的,所以才能够这样来进行处理)。
for (int i=0; i<m; i++)
for(int j=0; j<n; j++) {
对A[i*m+j]进行处理;
//按“一文数组”来对待处理A中第i行第j列的数据
}原文请找腾讯752018766辣,文-论'文.网http://www.751com.cn/
程序流程图如下:
Main函数流程图:
求max和min流程图:
3. 详细设计与编码
源代码见上传程序。
程序运行实现结果如下:调试分析:
程序主要实现找到数组中最大最小值,并按二文数组的方式输出数组。所以在程序实现的过程中还是很简单的。主要分为下面的几步:选择数组类型(整形还是浮点型),找出数组中的最大最小值,输出数组。这样分开来看还是比较简单的。
5 . 用户使用说明:
运行程序,用户选择数组类型操作,输入:1.整形数组2.浮点型数组。确定二文数组的行列数,输入数组的元素。然后就可以找到最大最小值和输出数组了。
6 . 设计心得:
这个程序感觉还是可以,首先确定数组类型分为整形和浮点型,然后分别按整形和浮点用一个switch进行分开写,做出来还是挺简单的。不过感觉到有些地方还是不熟练啊。1805