.dsy:it. Pages (13): « 1 2 3 4 [5] 6 7 8 9 » ... 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)


Posted by technorebel on 06-01-2010 17:24:

@ francescoo
Sto scartabellando tra i vari grafi, studiare le parti di codice per adattare il progetto.

__________________
C0d3 Z3r0


Posted by francescoo on 06-01-2010 19:02:

ok..ma per ogni nodo del grafo tu cosa memorizzi?e come?è quello che non riesco a capire..
come fai a salvare tutte le capacità in un nodo?in ogni nodo salvi un vettore?


Posted by ste182 on 06-01-2010 20:02:

Originally posted by francescoo
e quindi ste182 tu ogni volta che ti rikiama la funzione esiste,raggiungibile,configurazioni allochi un grafo e lo deallochi alla fine della funzione??

l'idea è quella.. ora mi tocca metterla in pratica:D

__________________
Live Fast, Die Fun


Posted by f3d386 on 06-01-2010 21:34:

@francescoo

stesso problema...come fai a salvare in un nodo tt le configurazioni?
ankio all'inizio ero partito con l'idea degli alberi rb ma poi sono ricorso agli array dinamici...ho ancora qualche problema a volte di overflow ma almeno quella parte è quasi completa...ma il grafo è veramente un casino!!!


Posted by f3d386 on 07-01-2010 11:55:

ragazzi io da adesso fino alle 1730 circa sono qui in comelico...c'è qlkun'altro da queste parti ?
così magari si discute insieme del progetto...


Posted by technorebel on 07-01-2010 12:44:

ogni nodo misura il vettore dei contenitori. Derivanti da matrici di adiacenza.:)
poi ti calcoli per ogni operazione quanti nodi vengono generati.
Prova!!

__________________
C0d3 Z3r0


Posted by ste182 on 07-01-2010 14:05:

ragazzi ma voi che struttura usate per la funzione esiste?? grafi o alberi??

__________________
Live Fast, Die Fun


Posted by asterix07 on 07-01-2010 17:59:

!-Chiarimento:
Nel progetto è scritto:"Denotiamo con un vettore (a1,a2...an) di interi la configurazione dei livelli d'acqua nei contenitori..."

Ma se si crea una struttura del tipo

struct contenitore{
int capacità;
int stato;
}

non dovrebbe servire un array perche tengo traccia della configurazione mediante la variabile stato di ogni contenitore.
Inoltre anche le funzioni del tipo riempi travasa ecc... andrebbero ad agire su questa variabile.
Ora siccome mi sembra una soluzione scontata, quali sono le controindicazioni?


Posted by iDarbert on 07-01-2010 18:05:

Originally posted by asterix07
!-Chiarimento:
Nel progetto è scritto:"Denotiamo con un vettore (a1,a2...an) di interi la configurazione dei livelli d'acqua nei contenitori..."

Ma se si crea una struttura del tipo

struct contenitore{
int capacità;
int stato;
}

non dovrebbe servire un array perche tengo traccia della configurazione mediante la variabile stato di ogni contenitore.
Inoltre anche le funzioni del tipo riempi travasa ecc... andrebbero ad agire su questa variabile.
Ora siccome mi sembra una soluzione scontata, quali sono le controindicazioni?

Sì, ma ogni configurazione dovrà immagazzinare lo stato di ogni singolo contenitore. È lì che serve l'array.

Certo c'è da chiedersi se è il caso di creare una struct contenitore quando basterebbero magari due array, uno che indica le capacità in ordine e un altro che indica i volumi effettivamente contenuti.
Anche se questo complicherebbe un po' le operazioni penso, obbligando a ripescare l'array delle capacità anziché leggendo semplici proprietà della struct.


Posted by ste182 on 09-01-2010 08:55:

sono riuscito a generare tutte le possibili combinazioni e inserirle nel grafo(implementato tramite liste di adiacenza). ora mi chiedo: per la funzione "esiste" uso una visita in ampiezza o profondità??

inserendo N 3 5 ottengo:

code:
nodi lista adiacenze (0[3],0[5]) (3[3],0[5]) (0[3],5[5]) (3[3],0[5]) (3[3],5[5]) (0[3],0[5]) (0[3],3[5]) (0[3],5[5]) (3[3],5[5]) (0[3],0[5]) (3[3],2[5]) (3[3],5[5]) (0[3],5[5]) (3[3],0[5]) (0[3],3[5]) (3[3],3[5]) (0[3],5[5]) (0[3],0[5]) (3[3],0[5]) (3[3],2[5]) (3[3],5[5]) (0[3],2[5]) (3[3],0[5]) (0[3],5[5]) (3[3],3[5]) (3[3],5[5]) (0[3],3[5]) (3[3],0[5]) (1[3],5[5]) (0[3],2[5]) (3[3],2[5]) (0[3],5[5]) (0[3],0[5]) (2[3],0[5]) (1[3],5[5]) (3[3],5[5]) (0[3],5[5]) (1[3],0[5]) (3[3],3[5]) (2[3],0[5]) (3[3],0[5]) (2[3],5[5]) (0[3],0[5]) (0[3],2[5]) (1[3],0[5]) (3[3],0[5]) (1[3],5[5]) (0[3],0[5]) (0[3],1[5]) (2[3],5[5]) (3[3],5[5]) (0[3],5[5]) (2[3],0[5]) (3[3],4[5]) (0[3],1[5]) (3[3],1[5]) (0[3],5[5]) (0[3],0[5]) (1[3],0[5]) (3[3],4[5]) (3[3],5[5]) (0[3],4[5]) (3[3],0[5]) (2[3],5[5]) (3[3],1[5]) (3[3],5[5]) (0[3],1[5]) (3[3],0[5]) (0[3],4[5]) (0[3],4[5]) (3[3],4[5]) (0[3],5[5]) (0[3],0[5]) (3[3],1[5])

come vedete, i nodi sono 16(tutte le possibili combinazioni usando riempi, svuota e travasa).
ora per la esiste mi conviene visitare in ampiezza o profondità?? che casino:(

__________________
Live Fast, Die Fun


Posted by f3d386 on 09-01-2010 10:24:

@ste182

cavolo ma come hai fatto????
io sto impazzendo sulla funzione che genera tt le possibili combinazioni...
al di là dell'inserimento nel grafo ke poi è il passo successivo, come fai a calcolare tt le combinazioni possibili???


Posted by ste182 on 09-01-2010 10:39:

Originally posted by f3d386
@ste182

cavolo ma come hai fatto????
io sto impazzendo sulla funzione che genera tt le possibili combinazioni...
al di là dell'inserimento nel grafo ke poi è il passo successivo, come fai a calcolare tt le combinazioni possibili???

1 parti dalla configurazione attuale, ne fai una copia
2 usi la copia per eseguire riempi svuota e travasa per ogni bidone, salvando i nuovi nodi generati e mettendoli in una coda(devi controllare che non ci sia già in coda)
3 estrai un elemento dalla coda e lo fai diventare la configurazione attuale
4 ripeti il punto 2 finchè ci sono elementi in coda

ps: al punto 3 estrai un nodo dalla coda, quindi questo non esisterà più. può però succedere che si rigeneri nelle prossime operazioni, quindi prima di rimetterlo in coda(creando così un loop) devi controllare anche che non esista tra i nodi già generati

__________________
Live Fast, Die Fun


Posted by f3d386 on 09-01-2010 11:08:

grazie mille!
solo una cosa non ho capito...qui dici:
"ps: al punto 3 estrai un nodo dalla coda, quindi questo non esisterà più. può però succedere che si rigeneri nelle prossime operazioni, quindi prima di rimetterlo in coda(creando così un loop) devi controllare anche che non esista tra i nodi già generati"

cioè?
devo controllare che non sia nella coda ma nemmeno nei nodi generati?e l'elenco dei nodi già generati dove lo salvi?in una lista?


Posted by ste182 on 09-01-2010 12:49:

esatto.. una lista o una coda vanno bene

__________________
Live Fast, Die Fun


Posted by francescoo on 09-01-2010 15:40:

ciao ste 182..
io ho avuto la tua stessa idea solo che ho un blocco e non riesco a implementarlo..e una volta fatto saprei come finire il tutt..ti vorrei kiederti una cosa..hai msn?mi daresti il tuo contatto?


All times are GMT. The time now is 20:41. Pages (13): « 1 2 3 4 [5] 6 7 8 9 » ... Last »
Show all 185 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.