W takim razie pokaż mi, gdzie w kodzie widzisz "return x;" ?? Bo ja tego za cholerę nie widzę. I moje formatowanie kodu ma sens...
Edit:
int x=0;
if(n%2==0)
{
x=(t[(n-1)/2] + t[n/2] ) /2 ;
return x ; // tu jest
}
else
x=(t[(n-1)/2] + t[(n+1)]/2) /2 ;
//tu nie ma
Wybacz, dla warunku rownego true jest return, lecz dla wartości równej false returna nie ma i zwracana jest losowa wartość. A akurat w Twoim przypadku n jest równe 5, a liczba 5 nie jest podzielna przez 2. Stąd wniosek, że x nie zostanie zwrócony :)
Edit2:
Nie wiem czy mam rację, ale czy nie powinno tu
int bs(int n,int t[])
byc tak? int bs(int n,int *t)
Edit3:
> Ale tu wszystko jasno ze wszystkiego wynika... nie musze dodawać chyba że i jest iteratorem itp.
pytanie: m s. J m, ż t j j b.
Rozszyfruj w takim razie to.
odpowiedź: mylisz się. Ja myslę, że tu jest jakis błąd.
A teraz pomysl, że te wyrazy sa jeszcze porozrzucane. Ja oczywiście wiem, co napisałem, ale ty byś za cholerę nie odgadł.