Ciao a tutti ho il seguente problema: ho una funzione principale MODIFICA alla quale gli passo una lista semplice con il doppio puntatore. All interno di questa funzione richiamo un altra funzione SCORRI che ha come due parametri due singoli puntatori PREC e PUNT. Il problema e che non so come passare il doppio puntatore alla funzione SCORRI con singolo puntatore infatti mi da errore.
codice:
struct elemento
{
int inf;
struct elemento *next;
};
void MODIFICA(struct elemento **L1) /*funzione principale*/
{
struct elemento *app;
if ((*L1) != NULL)
if ((*L1)->inf % 2 == 0)/*testa è pari*/
{
app = (struct elemento*) malloc (sizeof(struct elemento));
app->inf = (*L1)->inf*2;
app->next = (*L1);
(*L1)= app;
(*L1)->next->next = scorri(L1->next,L1->next->next);
}
else
(*L1)->next = scorri(L1,L1->next);
}
struct elemento *scorri(struct elemento *prec , struct elemento *punt)
{
if (punt != NULL)
{
if (punt->inf % 2 == 0)
{
prec->next = (struct elemento*) malloc (sizeof(struct elemento));
prec->next->inf = punt->inf * 2;
prec->next->next=punt;
punt->next = scorri(punt,punt->next);
}
else
punt->next = scorri(prec->next,punt->next);
}
return (prec->next);
}
L errore me lo da qua :
codice:
(*L1)->next->next = scorri(L1->next,L1->next->next);
e qua:
codice:
(*L1)->next = scorri(L1,L1->next);
Qualcuno sa come modificare queste due righe per passare un doppio puntatore ad una funzione con singolo puntatore???? GRAZIE in anticipo a tutti e spero di essere stato chiaro