Salve ragazzi mi sono imbattuto in queste esercizio che mi dice di trovare gli zeri di una funzione(scelta a caso) tramite il metodo di bisezione degli intervalli.
La mia idea era la seguente:
Quindi la mia idea era dare la possibilità di scegliere a me l'approssimazione, conoscendo già l'intervallo su cui calcolare la bisezione, salvare i risultati in un vettore e dopo dichè vedere tutti quei valori talichè rendevano 0 la funzione seno! Solo che il compilatore mi dice che c'è un'invalida assegnazione per il vettore sia nel punto 1) che 2) del programma!! Cosa c'è di sbagliato??codice:#include<iostream> #include<stdio.h> #include<math.h> void Bis( float *piG, float *pi_g){ int n; printf("Digita l'approssimazione: ") scanf("%d",&n); float x[n]; for(int i=1;i<=n;i++){ //1 x[i]=(*piG+*pi_g)/(pow(2,i)) ; //questa è la generalizzazione della bisezione } for(int i=1;i<=n;i++){ //2 if(sin(x[i])==0){ printf("Gli zeri di funzione sono %.2f" , x[i]); } int main () { float piG=4,71 //corrispondente a 2/3 piGreco float pi_g=1,57 //corrispondente a 1/2 piGreco Bis(&piG,&pi_g); return 0; }![]()

Rispondi quotando