Q
I have two 'mean' functions, one to handle an integer array, and one to
handle a double array (see code provided below). Is there a way to write a
single 'mean' function that would take either an array of ints or an array
of doubles?
Thanks.
-------------------
#include <stdio.h>
double int_mean (int * array, int num_elem)
{
int i, sum = 0;
for (i = 0; i < num_elem; i++)
sum += array;
return (double)sum/(double)num_elem;
}
double double_mean (double * array, int num_elem)
{
int i;
double sum = 0.0;
for (i = 0; i < num_elem; i++)
sum += array;
return sum/num_elem;
}
int main ()
{
int i;
int array_size = 5;
int * int_array = (int *)malloc(sizeof(int) * array_size);
double * double_array = (double *)malloc(sizeof(double) * array_size);
for(i = 0; i < array_size; i++)
{
int_array = 0;
double_array = 0.0;
}
int_array[1] = 4;
double_array[3] = 2.1;
printf ("%lf, %lf\n", int_mean (int_array, array_size), double_mean
(double_array, array_size));
return 1;
}
handle a double array (see code provided below). Is there a way to write a
single 'mean' function that would take either an array of ints or an array
of doubles?
Thanks.
-------------------
#include <stdio.h>
double int_mean (int * array, int num_elem)
{
int i, sum = 0;
for (i = 0; i < num_elem; i++)
sum += array;
return (double)sum/(double)num_elem;
}
double double_mean (double * array, int num_elem)
{
int i;
double sum = 0.0;
for (i = 0; i < num_elem; i++)
sum += array;
return sum/num_elem;
}
int main ()
{
int i;
int array_size = 5;
int * int_array = (int *)malloc(sizeof(int) * array_size);
double * double_array = (double *)malloc(sizeof(double) * array_size);
for(i = 0; i < array_size; i++)
{
int_array = 0;
double_array = 0.0;
}
int_array[1] = 4;
double_array[3] = 2.1;
printf ("%lf, %lf\n", int_mean (int_array, array_size), double_mean
(double_array, array_size));
return 1;
}