Non capisco perchè il copilatore mi da questo errore:
[Linker error] undefined reference to `scostamento'
codice:
#include <stdio.h>
#define RILEVAZIONI 5
void rilevaTemp(int *arrayRilevazioni);
void aggiornaTemp(int *arrayRilevazioni, int *min, int *max, int *media);
float scostamento(int *arrayRilevazioni, float mediaTemperature);
main()
{
int i;
int arrayTemp[RILEVAZIONI];
int tempMAX=0, tempMIN=0, sommaTemp=0, escursioneTermica=0;
float mediaTemperature=0, scostamentoMedio=0;
rilevaTemp(arrayTemp);
aggiornaTemp(arrayTemp, &tempMIN, &tempMAX, &sommaTemp);
printf("%d %d %d",tempMAX, tempMIN, sommaTemp);
mediaTemperature = (float)sommaTemp/RILEVAZIONI;
scostamentoMedio=scostamento(arrayTemp, mediaTemperature);
escursioneTermica = tempMAX-tempMIN;
printf("\nMedia temprature rilevate: %2.2f", mediaTemperature);
printf("\nEscursione termica: %d", escursioneTermica);
printf("\nScostamentoMedio: %2.2f", scostamentoMedio);
printf("\n\n");
}
void rilevaTemp(int *arrayTemp){
int i;
printf("\nAcquisizioni temperature rilevate\n\n");
for(i=0; i<RILEVAZIONI; i++)
{
printf("\nTemperature ore %d ", i*2);
scanf("%d", &arrayTemp[i]);
}
}
void aggiornaTemp(int *arrayTemp, int *min, int *max, int *somma){
int i;
*min=*max=arrayTemp[0];
for(i=0; i<RILEVAZIONI; i++)
{
*somma+= arrayTemp[i];
arrayTemp[i]<*min ? *min=arrayTemp[i] : (arrayTemp[i]>*max ? *max=arrayTemp[i] : 0);
}
}
float scostamentoMedio(int *arrayTemp, float mt)
{
int i;
float scostamentoMedio=0, sommaScostamenti=0, st=0;
for(i=0; i<RILEVAZIONI; i++)
{
st = arrayTemp[i]<mt ? mt-arrayTemp[i] : arrayTemp[i]-mt;
printf("\n%d", st);
sommaScostamenti+=st;
}
scostamentoMedio = sommaScostamenti/RILEVAZIONI;
return scostamentoMedio;
}