2016-02-11 111 views
-2

我對編碼非常陌生,只是玩弄矢量,但我似乎無法找到如何在元素數量由用戶定義時一起添加矢量中的所有元素。如何將矢量中的所有元素一起添加? C++

#include <iostream> 
#include <vector> 

using namespace std; 

int NoOfItems; 
int i=1; 
double Odds; 
double Cost; 
vector<double> CaseNumber; 

int main() 
{ 
    cout << "How many items in the case: "; 
    cin >> NoOfItems; 
    while (true) {  
     if (NoOfItems == 0) { 
      break; 
     } else { 
      cout << "Odds for item " << i <<endl; 
      cin >> Odds; 
      CaseNumber.push_back(Odds); 
      NoOfItems = NoOfItems - 1; 
      i = i + 1; 
     } 
    } 
} 
+1

'while(NoOfItems> 0){...}' –

+0

爲什麼你的所有變量都是glob人? –

回答

1

你會想花一些時間清理你的代碼。有一些非常可疑的代碼約定被使用。

不管怎麼說,總結所有的向量的元素:

double sum = 0; 
for(size_t index = 0; index < CaseNumber.size(); index++) { 
    sum += CaseNumber[index]; 
} 

或者,在某種程度上這是稍微更友好的C的語義++:

double sum = 0; 
for(double & d : CaseNumber) { 
    sum += d; 
} 

要麼將​​導致變量sum包含所有元素的總和CaseNumber

+8

那,或者使用'std :: accumulate'。 –

+0

@LouisDionne雖然考慮到用戶似乎對C++編程極其新穎,但我可能會推薦這種方法,以確保他們瞭解他們正在嘗試執行的操作的基本機制。 – Xirema

+0

_ @ Xirema_您至少應該在您的問題中提及@Louis提案,因爲這會使您的答案與已提出的重複中的最高優先和被接受的答案不同。 –

相關問題