Сложение значений одномерного массива

 

Здравствуйте. Есть одномерный массив. В нем один миллион элементов. В каждом элементе есть числовые значения: нули, единицы, двойки, тройки и т.д.

Подскажите, пожалуйста, можно ли прописать легкий код по сложению всех этих элементов сразу без перечисления каждого? Например, как в Excel, =сумм(А1:А1000000).

 

Да, можно )))

double GetArraySumm(const double &array[], int startIndex, int endIndex)
{
   int total = (int)MathMin(ArraySize(array) - 1, endIndex);
   double summ = 0.0;  
   for (int i = startIndex; i < total; i++)
      summ += array[i];
      
   return summ;
}

void OnStart()
{
   double myArray[1000000];
   double summ = GetArraySumm(myArray, 0, 999999);                // Вот он - "легкий код" ))
}
 
Спасибо Вам большое. Век живи, век учись. Это я про себя )))).
 

Еще появился вопрос. А возможно ли знак амперсанда, то есть ссылку поставить на определенный массив, это если у меня массивов несколько?

 
Ну то есть на &Myarray, а не на array[].
 
TerenceHill:

Еще появился вопрос. А возможно ли знак амперсанда, то есть ссылку поставить на определенный массив, это если у меня массивов несколько?

 

Так ведь именно так и делается в приведенном коде. Первый параметр функции - это ссылка на массив. Массив может быть любого размера. Главное, чтобы параметры startIndex и endIndex указывали правильные индексы элементов этого массива, не выходя за его пределы. 

 

P. S. В том коде, который я привел, проверка правильности endIndex сделана, а проверка startIndex не сделана. Ее стоит добавить. 

Причина обращения: