Non capisco perchè nelle varie funzioni si passano dei puntatoricodice:/* Temperatura media, escursione termica e scostamento medio di una serie di temperature rilevate in una località Le temperature sono state rilevate ogni 2 ore */ #include <stdio.h> #define RILEVAZ 12 /*1*/ void rilevaTemp(int *t); /*2*/ void aggiorna(int *t,int *st,int *tmn,int *tmx); /*2*/ float scostMed(int *t,float mt); /*2*/ main(){ int temp[RILEVAZ],tempMax,tempMin,escur; float medTemp,medSco; int sommaTemp; /* Acquisizione temperature rilevate */ rilevaTemp(temp); /*3*/ /* Calcolo media e ricerca massimo e minimo */ sommaTemp = tempMin = tempMax = temp[0]; aggiorna(temp,&sommaTemp,&tempMin,&tempMax); /*4*/ medTemp = (float) sommaTemp/RILEVAZ; /*5*/ /* Calcolo escursione termica */ escur = tempMax-tempMin; /* Scostamento medio */ medSco = scostMed(temp,medTemp); /*6*/ /* Comunicazione risultati */ printf("\nMedia temperature rilevate -> %2.2f",medTemp); printf("\nEscursione termica ---------> %d",escur); printf("\nScostamento medio ----------> %2.2f",medSco); } /* Lettura temperature */ void rilevaTemp(int *t){ /*7*/ int i; printf("\nAcquisizione temperature rilevate\n"); for (i=0;i<RILEVAZ;i++){ /*8*/ printf("Temperatura ore %d ",i*2); scanf("%d",&t[i]); } } /* Aggiornamento Somma temperature, temp massima e minima */ void aggiorna(int *t,int *st,int *tmn,int *tmx){ /*9*/ int i; for (i=1;i<RILEVAZ;i++){ *st += t[i]; t[i]<*tmn ? *tmn=t[i] : (t[i]>*tmx ? *tmx=t[i] : 0); /*10*/ } } /* Calcolo scostamento medio */ float scostMed(int *t,float mt){ /*11*/ float somScost,scost,media; int i; somScost = 0; for (i=0;i<RILEVAZ;i++){ scost = t[i]>mt ? t[i]-mt : mt-t[i]; somScost += scost; } media = somScost/RILEVAZ; return media; /*12*/ }
Dove viene specificato a cosa puntano i puntatori?