In: Computer Science
Write a test program that prompts the user to enter 10 numbers and displays the mean and deviation, as shown in the following sample run:
Your program should contain the following functions:
// Compute the mean of an array of double values double mean(const double x[], int size) // Compute the deviation of double values double deviation(const double x[], int size)
Write a test program that prompts the user to enter 10 numbers and displays the mean and deviation, as shown in the following sample run:
ex:
Enter ten numbers: 1.9 2.5 3.7 2 1 6 3 4 5 2
The mean is 3.11
The standard deviation is 1.55738
So this what I have:
#include <iostream>
#include <cmath>
using namespace std;
void displayVals(int vals[], int numVals, int sum);
void getVals(int vals[], int numVals);
double average(int sum, int numVals);
double stanDev(int vals[], double mean, int numVals);
int main()
{
int numVals=10;
int sum = 0;
int vals[9];
getVals(vals, numVals);
cout << endl;
displayVals(vals, numVals, sum);
cout << endl;
}
void getVals(int vals[], int numVals)
{
int index;
cout << "Enter ten numbers :" <<
"\n";
for (index = 0; index < numVals; index++) {
cout << index + 1;
cin >> vals[index];
}
}
void displayVals(int vals[], int numVals, int sum)
{
int index;
for (index = 0; index < numVals; index++) {
cout << index + 1;
cout << vals[index] <<
".\n";
}
cout << endl;
cout << "The mean is ";
cout << average(vals, numVals, sum) <<
".\n";
cout << endl;
cout << "The standard deviation is: ";
cout << stanDev(vals, numVals, sum) <<
".\n";
}
double average(int sum, int numVals)
{
double dsum = (double)sum;
double dnumVals = (double)numVals;
return dsum / dnumVals;
}
double stanDev(int vals[], double mean, int numVals)
{
double sum = 0, dVals = 0, value = 0, variance =
0;
for (int i = 0; i < numVals; i++)
{
dVals = (double)vals[i];
value = (dVals - mean)*(dVals -
mean);
sum += value;
variance = sum / (numVals);
}
return sqrt(variance);
}
#include <iostream>
#include <cmath>
using namespace std;
void displayVals(double vals[], int numVals);
void getVals(double vals[], int numVals);
double average(double sum, int numVals);
double stanDev(double vals[], double mean, int numVals);
int main() {
int numVals = 10;
double sum = 0;
double vals[10];
getVals(vals, numVals);
cout << endl;
displayVals(vals, numVals);
cout << endl;
}
void getVals(double vals[], int numVals) {
int index;
cout << "Enter ten numbers : ";
for (index = 0; index < numVals; index++) {
cin >> vals[index];
}
}
void displayVals(double vals[], int numVals) {
int index;
double sum = 0;
for (index = 0; index < numVals; index++) {
cout << vals[index] << " ";
sum += vals[index];
}
cout << endl;
cout << "The mean is ";
cout << average(sum, numVals) << ".\n";
cout << endl;
cout << "The standard deviation is: ";
cout << stanDev(vals, average(sum, numVals), numVals) << ".\n";
}
double average(double sum, int numVals) {
double dsum = sum;
double dnumVals = (double) numVals;
return dsum / dnumVals;
}
double stanDev(double vals[], double mean, int numVals) {
double sum = 0, dVals = 0, value = 0, variance = 0;
for (int i = 0; i < numVals; i++) {
dVals = vals[i];
value = (dVals - mean) * (dVals - mean);
sum += value;
}
variance = sum / (numVals - 1);
return sqrt(variance);
}