gokan
13-06-2006, 11:32
Ciao ragazzi, devo realizzare un programmino in java in tempi molto brevi. Diciamo che non conosco molto bene il linguaggio di programmazione :D , quindi vorrei qualche dritta. :)
Ho scritto una funzione ricorsiva:
int ZainoLento (int C)
{
int i, space, max, t;
for (i=0, max=0; i<n; i++)
if ((space= C - oggetti[i].peso) >=0)
if ((t= ZainoLento(space) + oggetti[i].profitto) > max)
max=t;
return max;
}
C, lo passo alla funzione.
Dentro la funzione, c'è n che mi ritrovo nel main, quindi volendo la potrei dichiarare static ed utilizzarla dentro la funzione ZainoLento (che dovrò comunque usare sempre nel main).
Il problema è con l'array di oggetti.
Come faccio a passare l'array di oggetti alla funzione? non posso farlo come con C, perchè la funzione ricorsiva utilizza solo l'intero C.
Grazie
class Oggetto {
int profitto;
int peso;
Oggetto(int pr, int pe) {profitto=pr; peso=pe;}
}
Ho scritto una funzione ricorsiva:
int ZainoLento (int C)
{
int i, space, max, t;
for (i=0, max=0; i<n; i++)
if ((space= C - oggetti[i].peso) >=0)
if ((t= ZainoLento(space) + oggetti[i].profitto) > max)
max=t;
return max;
}
C, lo passo alla funzione.
Dentro la funzione, c'è n che mi ritrovo nel main, quindi volendo la potrei dichiarare static ed utilizzarla dentro la funzione ZainoLento (che dovrò comunque usare sempre nel main).
Il problema è con l'array di oggetti.
Come faccio a passare l'array di oggetti alla funzione? non posso farlo come con C, perchè la funzione ricorsiva utilizza solo l'intero C.
Grazie
class Oggetto {
int profitto;
int peso;
Oggetto(int pr, int pe) {profitto=pr; peso=pe;}
}