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; }

Rispondi quotando