PDA

View Full Version : [C] Inversione di una Pila (RICORSIVA)


xbubbax
08-03-2008, 13:20
Come mai mi da errore? Piu giu vi incollo anche la versione iterativa, che funziona benissimo.

pilaPtr Inverti_Ricorsiva(pilaPtr P, pilaPtr P_i, int n){

pilaPtr temp=NULL;

if(n==0){
return NULL;}else{
temp->data=Top(P);
P_i=Push(P_i,temp->data);
P=Pop(P);


return Inverti_Ricorsiva(P,P_i,n-1);}

}

pilaPtr Inverti(pilaPtr P, pilaPtr P_i, int n){

int i=0;
pilaPtr temp=NULL;
temp=(pilaPtr)malloc(sizeof(nodo));

for(i=0;i<n;i++){
temp->data=Top(P);
P=Pop(P);
P_i=Push(P_i,temp->data);}

return P_i;}

xbubbax
08-03-2008, 14:07
non sbagli ma non funziona lo stesso

pilaPtr Inverti_Ricorsiva(pilaPtr P, pilaPtr P_i, int n){

pilaPtr temp=NULL;
temp=(pilaPtr)malloc(sizeof(nodo));


if(n==0){
return NULL;}else{
temp->data=Top(P);
P_i=Push(P_i,temp->data);
P=Pop(P);


return Inverti_Ricorsiva(P,P_i,n-1);}

}

cionci
09-03-2008, 00:22
Fino a quando non indenterai per bene non ti rispondo te l'ho già detto...ma che ti costa fare un passata in un formattatore automatico prima di postare le tue domande sul forum.
Non capisco perché tu insista a scrivere codice in quel modo, non capisci che stai prendendo un'abitudine sbagliata che dopo sarà difficile eradicare ? Inoltre indica poco rispetto per chi il tuo codice lo deve leggere per aiutarti.
Se fossi un professore che deve leggere il tuo codice ti darei 4 solo per come l'hai indentato.

commodoro
09-03-2008, 18:27
beh, sei troppo generoso, il mio prof alle superiori mi avrebbe dato 2 se non avessi messo a dovere le indentazioni!!!!:D

cionci
09-03-2008, 19:16
beh, sei troppo generoso, il mio prof alle superiori mi avrebbe dato 2 se non avessi messo a dovere le indentazioni!!!!:D
Infatti molto spesso è la prima cosa che insegnano...