PDA

Visualizza la versione completa : [C++] Confusione dichiarazione variabili


Follyer
20-12-2008, 20:47
Ciao a tutti...
Ho dei problemi con un esercizio...vi riporto solo la funzione che mi interessa...Qualcuno mi sa dire come dichiarare la variabile in neretto???Grazie!

void FixedPoint ( double (* g) (double), //funzione da cui si vuol trovare la radice
double x0, //valora da cui si vol far partire l'iterazione
double xtol, //tolleranza
unsigned maxits, //max numero di iterazioni
double *root, //radice
// double *fatroot, valore che f assume alla radice
unsigned *noofits,//numero iterazioni eseguite
stato *outcome, //esiti possibili
FILE *file)
{
double x, oldx ; unsigned itcount ; int outcome;
stato state;
x=x0;
itcount=0;
state=iterating;

do
{
if (fabs(x) <=assumedzero) state = toonearzero;
else
{
itcount = itcount + 1;
oldx=x;
x=(*g)(x);
if (fabs((x-oldx)/oldx)<=xtol)
{
state=withintol;
fprintf(file,"%f\n",x);
}
else
if (itcount == maxits)
state = maxitsreached;
}
}
while (state == iterating);

outcome = (state == withintol);

*root = x;
*noofits = itcount;
return outcome;
}

oregon
20-12-2008, 21:35
La funzione FixedPoint non restituisce valori (infatti e' void FixedPoint)

Quindi NON devi dichiarare la variabile e NON devi usare la

return ...

outcome e' un parametro in ingresso ed e' il puntatore ad un valore che assegnerai scrivendo

*outcome = (state == withintol);

Loading