C++ template function average array

Description

C++ template function average array

#include <iostream>
using namespace std;
template <class atype>             //function template
atype avg(atype* array, int size)
{
   atype total = 0;/*from www  .j a v a  2s  .c o m*/
   for(int j=0; j<size; j++)       //average the array
      total += array[j];
   return (atype)total/size;
}
int intArray[] =       {1, 3, 5, 9, 11, 13};
long longArray[] =     {1, 3, 5, 9, 11, 13};
double doubleArray[] = {1.0, 3.0, 5.0, 9.0, 11.0, 13.0};
char charArray[] =     {1, 3, 5, 9, 11, 13};
int main()
{
   cout << "\navg(intArray)=" << avg(intArray, 6);
   cout << "\navg(longArray)=" << avg(longArray, 6);
   cout << "\navg(doubleArray)=" << avg(doubleArray, 6);
   cout << "\navg(charArray)=" << (int)avg(charArray, 6) << endl;
   return 0;
}



PreviousNext

Related