Cory
12-02-2009, 11:42
Sto lavorando a uno stack ed ho un problema: ho implementato la funzione push per inserire elementi nello stack ma succede una cosa strana: la chiamo n volte per aggiungere n elementi, ma mi funziona solo la prima! vi copio il codice di seguito..
questa è la definizione dello stack in stack.h
struct stack{
int dim;
int elementi[MAX];
};
e questa è la funzione push in stack.cc
retval push (int n, stack & s){
retval res;
if (isfull(s))
res=FAIL;
else {
s.elementi[s.dim++]=n;
res=OK;
}
return res;
}
nel main io chiamo la funzione push 3 volte
int main(){
stack s;
inizializza(s);
push(4, s);
push(5, s);
push(3,s);
stampa(s);
cout << s.dim << endl;
ma compilando e lanciando il programma il terminale mi da come risultato
4
1 // la dimensione dello stack
uhm cioè, non capisco perchè...se funziona una volta dovrebbe funzionare anche le altre..:muro:
questa è la definizione dello stack in stack.h
struct stack{
int dim;
int elementi[MAX];
};
e questa è la funzione push in stack.cc
retval push (int n, stack & s){
retval res;
if (isfull(s))
res=FAIL;
else {
s.elementi[s.dim++]=n;
res=OK;
}
return res;
}
nel main io chiamo la funzione push 3 volte
int main(){
stack s;
inizializza(s);
push(4, s);
push(5, s);
push(3,s);
stampa(s);
cout << s.dim << endl;
ma compilando e lanciando il programma il terminale mi da come risultato
4
1 // la dimensione dello stack
uhm cioè, non capisco perchè...se funziona una volta dovrebbe funzionare anche le altre..:muro: