Wybór 2 elementów z tablicy

0

Witam chce zliczyć sumę dwóch elementów w tablicy, i wynik wpisać do nowej tablicy, czyli tab2[0]=tab[0]+tab[1], tab2[1]=tab[2]+tab[3] itd. Proszę o wskazanie błędu w funkcji, gdzyż program po jej wykonaniu zawiesza się.

 void suma (int *tab,int j,int *tab2){
    int z=0;
    j=j/2;
    for(int i = 0 ;i<j;i=i*2){
            tab2[z]=tab[i]+tab[i+1];
            z++;

            }

}
0

Poza tym, że trochę brzydko sformatowany kod, to tu błędu nie ma, aczkolwiek nie wiem czy ta funkcja robi do końca to co chcesz?
Po pierwsze, bardzo możliwe, że gdzieś poza tą funkcją przekraczasz zakres, po drugie, dla i == j pętla się nie wykona, a wierzę, że chciałbyś, aby pętla doszła do ostatniego elementu.

0

i =0; i <j; i = i * 2

0
for(int i = 0 ;i<j;i=i*2)

0*2=0, zatem i jest cały czas równe 0.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0