根据主函数代码,编写求一维数组中最大、最小元素及所有元素平均值的函数模板,使程序正确运行。

根据主函数代码,编写求一维数组中最大、最小元素及所有元素平均值的函数模板,使程序正确运行。

#include 
#include 
using namespace std;
template
double GetValue(T* arr, T& imax, T& imin)
{int N= 10;
    T sum = 0;
    imax = arr[0];
    imin = arr[0];
    for(int i=0; i imax)
            imax = arr[i];
        if(arr[i] < imin)
            imin = arr[i];
        sum += arr[i];
    }
    return sum/N;
}

template
double GetValue(T* arr, T& imax, T& imin)
{
    T sum = 0;
    imax = arr[0];
    imin = arr[0];
    for(int i=0; i imax)
            imax = arr[i];
        if(arr[i] < imin)
            imin = arr[i];
        sum += arr[i];
    }
    return sum/N;
}

int  main()
{
        int  imax,  imin;//分别保存最大、最小值
        double*  pd  =  new  double[5];
        assert(pd);/*如果内存分配 pd=new double[5] 不成功(即申请空间失败),则程序会直接停止运行,并打印错误信息提示开发者 Check pd memory allocation*/
        for  (int  i(0);  i  <  5;  i++)
                cin  >>  pd[i];
        int  iarry[]  =  {  -20,30,40,50,33,5,8,9,-7,0  };
        cout    <<  GetValue(iarry,  imax,  imin)  <<  endl;//返回平均值
        cout    <<  imax  <<  ","  <<  imin  <<  endl;//输出最大、最小值
        double  dmax,  dmin;        
        cout  <(pd,  dmax,  dmin)  <<  endl;//返回平均值
        cout  <<  dmax  <<  ","  <<  dmin  <<  endl;//输出最大、最小值
        return  0;
}

你可能感兴趣的:(C++,c++)