Salve a tutti scrivo il mio primo post sul forum perchè ho un problema e non essendo sperto di programmazione, non capisco se questo problema è dovuto alla scarsa qualità del mio codice, o a limiti hardware del mio telefono su cui sto testando l'applicazione; ma venendo al sodo vorrei che qualcuno molto gentilmente mi aiutasse a fare ciò:
Devo creare una funzione che prenda come input dei dati che mi fornisce un sensore e li memorizzi in un array, successivamente la funzione dovrebbe calcolare la media su un numero di elementi dell' array che io posso scegliere tramite un parametro, e memorizzarli su un altro array che poi mi deve essere ritornato. spero di essermi spiegato. Io ho provato a scrivere la mia funzione che però nella mia versione, anzichè ritornare un vettore con dentro i valori medi, ritorna solamente il valore medio istante per istante.
Ecco il mio codice:

codice:
private double mediaMobile(double[] sensData, int win) 
{ 
if(ok == false & cont<win)   
{
     window[cont]=sensData[cont]; 
     cont++;
} 
else if (cont == win)   
{
     double sommatoria = 0; 
     for (int ix = 0; ix < win; ix++)   
     {
     sommatoria += window[ix]; 
     } 
     med = sommatoria/win;
     for (int k=0; k<win; k++)   
     {
     window[k] = sensData[cont-win+1+k]; 
     } 
     cont++; 
} 
else if (ok == true & cont > win) 
{ 
     double sommatoria = 0; 
     for (int ix = 0; ix < win; ix++)   
     {
          sommatoria += window[ix]; 
     }
     med = sommatoria/win; 
     for (int k=0; k<win; k++)  
     {
          window[k] = sensData[cont-win+1+k]; 
      }
     cont++;
}
else if(ok==false & cont >win)   
{
     ok = true;
} 
return med; }