PDA

View Full Version : esercizio con liste c++


bebedor
22-10-2010, 09:42
ciao a tutti.
devo svolgre questo esercizio in c++ utilizzando le liste:

Si scriva una funzione che riceve come parametro in ingresso un array A di dimensione N. L’array può contenere soltanto due valori 1 o 0. La funzione restituisce come parametro in uscita la testa di una lista di interi che rappresentano prima la posizione degli elementi di A con valore 1 e poi tutti gli elementi di A con valore 0.

Esempio:
Dato l’array A
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1

La funzione deve restituire la lista
Testa ->1->4->8->9->12->13->14->0->2->3->5->6->7->10->11


il problema è che le liste proprio non le riesco a capire..
qualcuno m può dare una mano??

grazie

!fazz
22-10-2010, 10:01
quà non si risolvono gli esercizi a comando

spiega cosa non capisci delle liste e vedremo di aiutarti a capire ma se speri che qualcuno ti posti la pappa pronta hai sbagliato forum :D

bebedor
22-10-2010, 10:05
come faccio a mettere l'array dentro la lista, nel senso devo mettere un valore alla volta oppure metto l'array direttamente?

se devo mettere l'array direttamente come faccio?

bebedor
22-10-2010, 10:50
ho incominciato facendo cosi:

struct Nodo
{
int array[dim];
Nodo * nextprtr;
};

int main()
{
int array[dim]={0,1,0,0,1,0,0,0,1,1,0,0,1,1,1};

}

è giusta una cosa del genere?

!fazz
22-10-2010, 11:02
allora da quanto hai scritto il payload della lista è un intero che contiene la posizione quindi

struct Nodo
{
int pos;
Nodo * nextprtr;
};

bebedor
22-10-2010, 11:06
quindi nella struct non devo mettere l'array ma un intero che mi salvi la posizione?

!fazz
22-10-2010, 11:41
quindi nella struct non devo mettere l'array ma un intero che mi salvi la posizione?


Testa ->1->4->8->9->12->13->14->0->2->3->5->6->7->10->11

come vedi ogni nodo contiene solo un numero

bebedor
22-10-2010, 12:38
ok. grazie mille