Krew mnie zalewa, program dziala dobrze ale test sprawdza funkcje avg, podajac tablice i rozmiar, widze ze moja funkcja olewa sobie rozmiar i bierze 1 element wiecej, jak moge sprawdzic to u siebie co jest zle, bo siedze nad tym zenujacym zadaniem i nie moge sobie z nim poradzic, pomozcie mi prosze bo nie daje rady juz.
test : int res = avg((float[]){-3.779990, 0.275521, 0.410900, 4.680326}, 4, &result);
wynik powinien być równy 0.3966890916228847, a jest 2.219781⏎
int avg(const float* tab, unsigned int size, float *result)
{
if(tab == NULL || result == NULL) return 0;
unsigned int i;
for(i=0; i<size; i++)
{
*result += *(tab+i);
}
*result = *result/i;
return 1;
}
float T[100], suma = 0, srednia = 0;
float *tab = T;
int size = 0;
unsigned int sizeS = 0;
avg(tab, sizeS, &srednia);