![]() |
Pages (13): « First ... « 2 3 4 5 [6] 7 8 9 10 » ... Last » Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Algoritmi e strutture dati (http://www.dsy.it/forum/forumdisplay.php?forumid=207)
-- Progetto "DIE HARD" (http://www.dsy.it/forum/showthread.php?threadid=39661)
c'è qlcn???
io l'ho pensato nelllo stesso modo di ste82..pero ho un problema:
faccio come ha detto lui al primo punto e cioè mi copio la lista che contiene configurazione attuale,dopo di che con questa copia dovrei cominciare a fare le varie operazioni di riempi,svuota e travasa per trovare le possibili configurazioni;
ora il mio problema quindi è:
prendo la lista(che è una copia di quella di partenza)
eseguo riempi, se riempi si puo fare io modifico la lista su cui stavo lavorando..
capite?cosi facendo io perdo la configurazione che avevo prima..
beh crea un nuovo nodo che coniene la configurazione allora..
quindi ogni volta creo una copia della configurazione(chiamiamo la lista della conf l_conf),
faccio puntare la copia dalla lista configurazione(l_conf) e quindi sulla copia eseguo l'operazione?
la configurazione iniziale è una array o un nodo contenente l'array, giusto?
quindi mettiamo che ho una funzione copia(sorgente, destinazione)
...facciamo
code:
copia(attuale,copia); //faccio una copia for(i=0;i<dim;i++){ if(riempi(copia,i){ //inserisci nella coda //inserisci nel grafo } copia(attuale,copia); //ripristina la config. iniziale }
__________________
Live Fast, Die Fun
ok grazie mille per il chiarimento pero questo lo avevo capito,il mio problema è nel'esempio che mi hai fatto tu dove hai scritto inserisci nella coda,inserisci nel grafo.
qui dovrei creare ogni volta un nuovo vettore?non so come costruire la coda e il grafo..come impostare la struttura..
beh per la coda ti basta creare una struttura con due puntatori uno al primo elemento e uno all'ultimo, e ti devi ricordare che se inserisci sposti il puntatore all'ultimo, mentre se estrai devi spostare il puntatore al primo... e legare tra di loro tutti gli elementi interni alla coda ad es con un puntatore next...
il grafo è un po piu incasinato ma ad esempio nel mio creo il primo nodo di partenza e in base a quanti nodi genero nella funzione genera, alloco un grafo **next in modo da legare tutti i figli al padre reallocando ogni volta che ne trovo uno nuovo...
ok palaz ma non riesco a implementarlo..
la mia coda deve avere un puntatore a interi per gli array che hanno la conf giusto?
cioè io dalla conf attuale faccio riempi 1 , se possibile ottengo una nuova conf che salvo in un nuovo vettore che quindi alloco dinamicamente?giusto?
poi la mia coda sarà composta da un puntatore a interi e quindi gli faccio puntare il vet appena creato,giusto?
e poi dopo come faccio a collegare tutti questi vettori?
anche io ho usato delle code.. ma primo e ultimo li ho fatti puntare direttamente al nodo che contiene la configurazione
pero creare solo dei vettori è scomodo io ho messo tutto in un nodo
in modo da poter puntare i suoi figli con un puntatore next creato apposta nel nodo..
domani qlcn di voi e' in comelico?io sono li..nel caso io sono li..
ragazzi ho un grosso problema in fase di compilazione che vi posto di seguito:
gcc -c main.c
In file included from intqueue.h:5,
from main.c:5:
intdummylist.h:8: error: redefinition of ‘struct configurazione’
intdummylist.h:12: error: conflicting types for ‘configurazione’
intdummylist.h:12: note: previous declaration of ‘configurazione’ was here
intdummylist.h:14: error: redefinition of ‘struct intlist’
intdummylist.h:19: error: conflicting types for ‘intlist’
intdummylist.h:19: note: previous declaration of ‘intlist’ was here
intdummylist.h:22: error: conflicting types for ‘createlist’
intdummylist.h:22: note: previous declaration of ‘createlist’ was here
intdummylist.h:25: error: conflicting types for ‘traverse’
intdummylist.h:25: note: previous declaration of ‘traverse’ was here
intdummylist.h:28: error: conflicting types for ‘countlist’
intdummylist.h:28: note: previous declaration of ‘countlist’ was here
intdummylist.h:31: error: conflicting types for ‘insert’
intdummylist.h:31: note: previous declaration of ‘insert’ was here
intdummylist.h:34: error: conflicting types for ‘insertatend’
intdummylist.h:34: note: previous declaration of ‘insertatend’ was here
intdummylist.h:37: error: conflicting types for ‘delete’
intdummylist.h:37: note: previous declaration of ‘delete’ was here
intdummylist.h:40: error: conflicting types for ‘destroylist’
intdummylist.h:40: note: previous declaration of ‘destroylist’ was here
make: *** [main.o] Errore 1
la cosa buffa è che tolta la struttura configurazione che è una mia creazione le altre sono quelle che si possono trovare nel file omonimo su algoteam...
potete aiutarmi????
vi posto anche il makefile nel caso l'errore fosse lì...
exe: main.o intdummylist.o intqueue.o
gcc -o exe main.o intdummylist.o intqueue.o
main.o: main.c intdummylist.h intqueue.h
gcc -c main.c
intdummylist.o: intdummylist.c intdummylist.h
gcc -c intdummylist.c
intqueue.o: intqueue.c intqueue.h intdummylist.h
gcc -c intqueue.c
grazie...
ok risolto XD
Ragazzi che casino =)
Io sono riuscito a fare acquisizione, creazione contenitori, riempimento, svuotamento e visualizzazione per il momento. Tutto questo però utilizzando una matrice bidimensionale in cui ogni riga corrisponde ad un contenitore e le due colonne equivalgono la prima al quantitativo di litri contenuto e la seconda alla capacità massima del contenitore.
Dite che va bene oppure sto sbagliando in partenza?
allora raga? si può procedere così o bisogna cambiare impostazione? che dite?
| All times are GMT. The time now is 15:33. | Pages (13): « First ... « 2 3 4 5 [6] 7 8 9 10 » ... Last » Show all 185 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.