2015-08-02 2 views
1

У меня есть массив целых чисел. Теперь я хочу, чтобы получить сумму элементов массива, как показано ниже:Добавьте элементы массива как [0], a [1] + a [2], a [3] + a [4] + a [5], a [6] + a [7] + a [8 ] + a [9] ... и т. д.

a[0], a[1]+a[2], a[3]+a[4]+a[5], a[6]+a[7]+a[8]+a[9]

Это логика я пытаюсь использовать, но он не работает:

for(int i=0;i<arr.lenght;i++){ 
    int temp = 0; 
    for(int j=i;j=i+1;j++){ 
     temp += arr[i]; 
    } 
    println("Now the sum is %d",temp); 
} 

Может ли кто-нибудь сказать, что мне делать?

+0

Для чего используется j? –

+0

Извините, я отредактировал вопрос .. это была одна глупая типизация –

+0

проверить эту строку: 'for (int j = i; j = i + 1; j ++) {' он будет повторять только один раз для каждого i, j (Oops; edit: он не будет итерации вообще.) – Stefan

ответ

3

Если у вас есть только 10 alements массив сделать это прямо:

int sum1 = a[0]; 
int sum2 = a[1] + a[2]; 
... 

Если вы после общего принципа вам это нужно:

int start = 0; 
int len = 1; 

while(start + len < array_length) 
{ 
    int sum = calc_sum(start, len); 
    printf("%d\n", sum); 
    start += len; 
    len++; 
} 

С этой вспомогательной функции:

int calc_sum(int start, int len) 
{ 
    int sum = 0; 
    for(int i = start; i < start + len; i++) 
     sum += a[i]; 
    return sum; 
} 
+0

да, это то, что я ищу :) –

Смежные вопросы