Expert Answer
/* Function arraySum*/
float arraySum(float x[], int size)
{
/* declaring necessary variables*/
int i;
float sum=0.0;
/* calculating the sum of the array elements & storing them in variable sum*/
for(i=0;i<size;i++)
{
sum=sum+x[i];
}
return sum; /*returns the result*/
}
b) /*Function getDeviations*/
void getDeviations(float x[], float deviations[], int size)
{
/* declaring necessary variables*/
float sumOfArray,average;
int i;
/* calculating sum of array using arraySum function*/
sumOfArray=arraySum(x,size);
/* calculating average value of the array elements*/
average=(float)sumOfArray/size;
/* calculating deviations i.e. the difference between the array elements and the average value of the array elements*/
for(i=0;i<size;i++)
{
deviations[i]=x[i]-average;
}
}
c) /* The Full Program in C++*/
#include<iostream>
#include<iomanip>
using namespace std;
float arraySum(float x[], int size);
void getDeviations(float x[], float deviations[], int size);
int main()
{
/* 1.declaring a static array p[] and initialize it accordingly */
static float p[]={-10.3,1.5,11.1,15.7,-0.4,25.2};
/* declaring necessary variables*/
int size=6; /* the size of the array p[] is 6 */
int i;
float sumDeviations;
/* 2.creating a dynamic array pdeviations with the same number of elements of array p[] */
float *pdeviations;
pdeviations=new float[size]; /* the size of the array p[] is 6 */
/**3.using getDeviations() function storing the deviation in pdeviation**/
getDeviations(p,pdeviations,size);
/* 4.displaying the values of array p and its deviations side by side */
cout<<“p_value”<<” “<<“p_deviation”<<endl;
for(i=0;i<size;i++)
{
cout<<p[i]<<” “<<pdeviations[i]<<endl;
}
/* calculating the sum of the array pdeviations using arraySum() function & storing the result in variable sumDeviation*/
sumDeviations=arraySum(pdeviations,size);
/* 5.displaying the sum of pdeviations array*/
cout<<“nThe sum of pdeviations array is (without setting the precision):”;
cout<<sumDeviations<<endl;
cout<<“nThe sum of pdeviations array is (setting the precision):”;
cout<<fixed<<setprecision(12)<<sumDeviations<<endl;
delete[] pdeviations; /* it releases the memory that was dynamically allocated for array elements*/
return 0;
}
float arraySum(float x[], int size)
{
/* declaring necessary variables*/
int i;
float sum=0.0;
/* calculating the sum of the array elements & storing them in variable sum*/
for(i=0;i<size;i++)
{
sum=sum+x[i];
}
return sum; /*returns the result*/
}
void getDeviations(float x[], float deviations[], int size)
{
/* declaring necessary variables*/
float sumOfArray,average;
int i;
/* calculating sum of array using arraySum() function*/
sumOfArray=arraySum(x,size);
/* calculating average value of the array elements*/
average=(float)sumOfArray/size;
/* calculating deviations i.e. the difference between the array elements and the average value of the array elements*/
for(i=0;i<size;i++)
{
deviations[i]=x[i]-average;
}
}
/*———————–6.——————–output screen———————————————-*/