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