2016-03-15 62 views
0

當前正在爲C++做一個介紹課程,需要使用循環從文件讀取值到vector,然後將其輸出到控制檯。這我已經能夠做到了,然後我需要使用for-loop來查找平均值。我可能正在閱讀其他代碼,我已經尋找線索......但似乎無法找到很多幫助。使用for循環C++計算vector的平均值

#include <iostream> 
#include <fstream> 
#include <vector> 

using namespace std; 

int main() { 

    ifstream numbers; 
    numbers.open("G:\\numbers.dat"); // just a file of 10 integers. 
    int i; 
    vector<float> vectors; 

    while(numbers >> i) { 
     vectors.push_back(i); 
    } 

    for(int n=0; n < vectors.size(); ++n){ 
     cout << vectors[n] << endl; 
    } 

    int avg; 
    for(int k=0; k < vectors.size(); ++k){ 
     // not sure what to put here basically. 
     cout << avg << endl; 
    } 


    numbers.close(); 

    return 0; 
} 

任何幫助非常感謝。謝謝。

+0

什麼是平均值?你正在通過矢量循環...你正在訪問所有的數字,你將如何平均一組數字?附:需要注意的一點是,如果用整數除整數,則會得到一個整數結果,該結果將是截斷(floor)操作,而不是正確的舍入操作。 – RyanP

+2

你知道如何用手計算平均值嗎? – molbdnilo

回答

1

平均值是元素的總和除以元素的數量。所以:

int avg; 
int sumTotal = 0; 
    for(int k=0; k < vectors.size(); ++k){ 
     // not sure what to put here basically. 
     sumTotal += vectors[n]; 

    } 
    avg = sumTotal/vectors.size(); 
cout << avg << endl; 
+0

謝謝,工作正常,不知道爲什麼我沒有得到它。非常感激。 –

+0

請設置問題爲答案,所以沒有其他使用寬鬆的時間;) – Tirma

+0

你回答很快說我需要等待5分鐘,然後分心哈哈它現在完成... –