Allora ho un programma dove durante un ciclo do-while devo salvare i risultati di alcune operazioni su un array e poi stamparne i risultati, io ho definito un array di lunghezza sufficiente, da precompilatore, e poi nel ciclo ho sostituito il nome della variabile precedentemente dichiarata con il risultato ma mi da errore, ho paura che si debbano usare i puntatori su cui io non sono molto ferrato quindi vi chiedo aiuto.Vi posto il codice per farvi capire la situazione, mai il resto del programma va bene:

codice:
#include <stdio.h> 
#include<stdlib.h> 
#include<time.h> 
#include<math.h> 
#define LEN  20  

double Taylor(double);  i

nt main(){ 

  srand48(time(0));     

double diff,x,ln,c,p,val,arr[LEN];   

int it=0;    
printf("\n Scriverò un programma che approssima la funzione logaritmo con il polinomio di Taylor \n");  

do{  
c=(double)lrand48()/RAND_MAX;  
if(c>0.5){p=1;}  else{p=2;}  
val=((double)lrand48()/RAND_MAX)*pow(-1,p);  
x=val;  
ln=Taylor(x);  
diff=log(1+x)-ln;
arr[diff];                            !!!!!!!!questo è il passaggio importante!!!!!!!!!!!!
it++;  
printf("L'approssimazione di Taylor vale %lf \n \n La differenza vale %lf \n\n", ln, fabs(diff));   }   
while(it<20);     
return 0; 
}      

double Taylor(double x){   
int n;   
double ln=0,taylor;   
n=0;      
for(n=1;n<5;n++){     
taylor=(pow(-1,n-1)*pow(x,n))/n;     
ln=ln+taylor;   
}   
return ln; 
 }