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

Rispondi quotando