我需要知道如何正确计算平均值和偏差
I need to know how to get the mean and deviation to calculate properly
我即将完成这个项目,但我无法弄清楚。我问过我的教授,但他说"对于 2 个函数,部分或全部参数需要通过引用传递,以便函数可以影响传入的参数。但这让我更加困惑。如果有人有任何提示,我将不胜感激。我宁愿不要有人解决它,而是更多地为我指出正确的方向,因为这就是学习的方式。
尝试重写代码几次。
#include <iostream>
#include <cmath> //included for some pre-defined functions
using namespace std;
//function PROTOTYPES will go here
void getValues(double x1, double x2, double x3, double x4, double x5);
double calcMean(double x1, double x2, double x3, double x4, double x5);
double calcDev(double stDev, double mean, double x1, double x2, double x3, double x4, double x5);
void printResults(double mean, double stDev);
//DO NOT CHANGE ANYTHING IN THE MAIN FUNCTION!!!
int main()
{
//Defining variables to store the values, the mean and the standard deviation
double x1, x2, x3, x4, x5;
double mean, stDev;
// calling all the functions
getValues(x1, x2, x3, x4, x5); // asks and reads in the 5 values.
mean = calcMean(x1, x2, x3, x4, x5); //calculates the mean
calcDev(mean, stDev, x1, x2, x3, x4, x5); //calculates the standard deviation
printResults(mean, stDev); //displays the results
return 0;
}
//the function DEFINITIONS will go below
void getValues(double x1, double x2, double x3, double x4, double x5){
cout<<"Please enter 5 values: ";
cin>>x1;
cin>>x2;
cin>>x3;
cin>>x4;
cin>>x5;
}
double calcMean(double x1, double x2, double x3, double x4, double x5){
return (x1+x2+x3+x4+x5)/5;
}
double calcDev(double stDev, double mean, double x1, double x2, double x3, double x4, double x5){
return stDev=sqrt(((pow(x1-mean, 2)+pow(x2-mean, 2)+pow(x3-mean, 2)+pow(x4-mean, 2)+pow(x5-mean, 2))/5));
}
void printResults(double mean, double stDev){
std::cout<<"The mean of the 5 values is: "<<mean<<std::endl;
std::cout<<"The standard deviation of the 5 values is: "<<stDev<<std::endl;
}
如果我输入 5 7 9 11 13,那么如果我没记错的话,平均值应该是 9,标准差约为 2.8。
getValues(( 中的输入参数需要通过引用传递,否则您当前拥有的内容将让用户输入值并存储到变量中,只是为了超出范围。这:
void getValues(double x1, double x2, double x3, double x4, double x5);
应该是:
void getValues(double& x1, double& x2, double& x3, double& x4, double& x5);
同样在实现它时需要有同样的东西:
void getValues(double& x1, double& x2, double& x3, double& x4, double& x5) {
cout<<"Please enter 5 values: ";
cin>>x1;
cin>>x2;
cin>>x3;
cin>>x4;
cin>>x5;
}
calcDev(( 可能应该更改为返回一个双精度值,这将是标准偏差,或者通过引用传递它。但是从评论说://不要更改主功能中的任何内容!!电话是这样的:
calcDev(mean, stDev, x1, x2, x3, x4, x5);
这意味着我们不需要返回任何内容,而是通过引用传递回 stDev。所以这意味着我们需要更改 calcDev((,如下所示:
void calcDev(double mean, double& stDev, double x1, double x2, double x3, double x4, double x5);
并且应该这样实现:
void calcDev(double mean, double& stDev, double x1, double x2, double x3, double x4, double x5) {
stDev = sqrt(((pow(x1-mean, 2)+pow(x2-mean, 2)+pow(x3-mean, 2)+pow(x4-mean,
2)+pow(x5-mean, 2))/5));
}
相关文章:
- 计算平均值,不包括上次得分
- 如何创建一个函数来计算并返回平均值、最大值和最小值
- 在二叉搜索树C++中计算平均值
- 我们如何并行运行算法的 n 个实例并以有效的方式计算结果函数的平均值?
- 我可以计算多线程数的平均值吗?
- 计算另一个图像像素满足条件的像素值的平均值
- 如何计算和显示C++中5个数字的平均值?
- 计算平均值:蒙版图像与投资回报率的不同结果
- 类型检测:使用variadic参数正确实现计算平均值的函数
- C 平均程序在循环时不计算n后不计算平均值
- C++ - 计算"for"函数中的平均值
- 计算用于CAFFE分类的HDF5数据集的平均值
- 如何使用多尺寸阵列计算C 中每个学生的平均值
- 如何计算结构阵列内的平均值
- 我需要以尺寸方式计算数组的平均值
- 我必须将 5 个数字放入一个数组中,而不是 cin 计算平均值并输出它,我做错了
- 我需要知道如何正确计算平均值和偏差
- 计算数组中特定线的平均值并存储在另一个数组中
- 如何使用不同的功能计算三个数字的总和,平均值和产物
- 浮点数组的中间模式平均值计算