How to add all numbers in an array in C++?

Try this:

int array[] = {3, 2, 1, 4};
int sum = 0;

for (int i = 0; i < 4; i++) {
    sum = sum + array[i];
}
std::cout << sum << std::endl;

Say you have an int array[N].

You can simply do:

int sum = 0;
for(auto& num : array)
    sum += num;

Here is the idiomatic way of doing this in C++:

int a[] = {1, 3, 5, 7, 9};
int total = accumulate(begin(a), end(a), 0, plus<int>());

Note, this example assumes you have somewhere:

#include <numeric>
using namespace std;

Also see: accumulate docs and accumulate demo.


If you use a valarray, there is a member function sum() for that.

#include <iostream>     // std::cout
#include <valarray>     // std::valarray

int main () {
  std::valarray<int> myvalarray(4);
  myvalarray[0] = 0;
  myvalarray[1] = 10;
  myvalarray[2] = 20;
  myvalarray[3] = 30;
  std::cout << "The sum is " << myvalarray.sum() << '\n';

  return 0;
}