Salve a tutti,
come da oggetto sto cercando di scrivere una funzione che crea una lista con “n” elementi della serie di Fibonacci. Non riesco a capire dove sbaglio... Grazie a chi mi vorrà aiutare.
codice:
typedef struct numeriDiFibonacci
{
int num;
struct numeriDiFibonacci *suc;
} Nf;
Nf * creaListaFib(int n)
{
if (n == 0) return(NULL);
Nf *testa, *prima, *seconda, *ennesima;
prima = (Nf *)malloc(sizeof(Nf));
prima->num = 1;
prima->suc = NULL;
testa = prima;
if (n == 1) return(testa);
seconda = (Nf *)malloc(sizeof(Nf));
seconda->num = 1;
seconda->suc = NULL;
prima->suc = seconda;
if (n == 2) return(testa);
int i;
for (i=3; i<=n; i++)
{
ennesima = (Nf *)malloc(sizeof(Nf));
ennesima->num = prima->num + seconda->num;
ennesima->suc = NULL;
seconda->suc = ennesima;
prima = prima->suc;
seconda = seconda->suc;
}
}