簡體   English   中英

C ++計算平均值和標准偏差

[英]C++ calculate average and standard deviation

我在這個程序中詢問用戶要輸入多少個值,詢問這些值並將它們放入向量中。 然后,我需要計算平均值和標准偏差。 我有平均值部分,但似乎出了點問題,我得到了錯誤的平均值。 而且我不太確定如何開始使用標准偏差部分。

#include <iostream>
#include <vector>
#include <cmath>

using namespace std;

int main()
{
    // Create vector
    vector<double> values;

    // Declare variables
    double count;
    double value;
    double average;
    double stdDev;

    // Prompt user and get the number of values
    cout << "How many values will you enter?\n";
    cin >> count;

    // Get the values from user and calculate average
    for( double i = 1; i<= count; i++)
    {
        cin >> value;
        values.push_back(value);
        average+=values[i];
    }
    cout << average/count << '\n';

    //Calculate standard deviation


    return 0;
}

任何幫助表示贊賞。

  1. 使用double average = 0; 而不是double average;double average;

  2. 並在循環內使用values[i-1]而不是values[i]

為什么?

  1. 您聲明了平均值,但尚未初始化。 為此,它具有在代碼執行之前未知的值。 當您將value[i]average相加時, average就在其中。 為此,您得到錯誤的輸出。 您只需要添加所有value[i] 因此,將average初始化為0。

  2. 向量索引是基於0的。 因此,插入到向量中的第n個元素將位於第[n-1]個位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM