.dsy:it. Pages (9): « 1 2 3 4 [5] 6 7 8 9 »
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 "Componenti Elettroniche" (http://www.dsy.it/forum/showthread.php?threadid=40479)


Posted by kalbiz on 03-06-2010 17:51:

incontro un altro problema di input...come avete distinto tra il comando

s --> stampa()

s f --> stampa tutti quelli della famiglia

intendo proprio nella parte

case 's': /* stampa */


Posted by BeppeGoal on 03-06-2010 21:38:

Scusa Carla,
cosa intendi per estensione massima?
Che tra tutti i componenti che formano dispositivi lineari, si sceglie il dispositivo con l'estensione massima?


Posted by misterx on 03-06-2010 21:39:

cosa ci si inventa per la funzione lineare ?

ciao


Posted by carla86 on 03-06-2010 22:29:

Originally posted by BeppeGoal
Scusa Carla,
cosa intendi per estensione massima?
Che tra tutti i componenti che formano dispositivi lineari, si sceglie il dispositivo con l'estensione massima?


si esatto. per estensione massima si intende ke tra tutti i dispositivi lineari devi stampargli quello con estensione massima.
occhio che nn ce ne uno solo di dispositivo con estensione massima, ma ce ne più d uno ma al prof ne interessa uno qualsiasi d questi.


Posted by mark on 03-06-2010 22:56:

io non ho ancora capito cosa si intende con:

Esempio 2 Siano c1, c2 ......., c6 le componenti definite nell'Esempio 1. L'operazione: lineare (2; 7; 17; 24; 26)

può produrre uno dei due dispositivi seguenti, entrambi di estensione 25 + 12 + 24 + 8 = 69
(c5; 2; c1; 7; c3; 17; c6; 24) oppure (c5; 2; c2; 7; c3; 17; c6; 24):

__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....


Posted by mark on 04-06-2010 07:21:

Originally posted by fa88bio
ciao a tutti...a quanto ho capito io la funzione lineare fissa la posizione dei componenti al momento della chiamata alla funzione stessa:::
l(2 7 17 24 26) significa che:
si ha a dispozizione 26-2=24 come lunghezza max del dispositivo;
il primo componente deve avere lunghezza <= di 7-2=5 unità;
il secondo <= 17-7=10 unità;
il terzo <=24-17=7 unità;
il quarto <=26-24 unità..
per questo motivo i dispositivi possono essere piu di uno e di questi si vuole stampare solo quello avente area totale maggiore....
Il problema appunto è ke se come primo componente ad esempio, nella struttura dati ce ne sono 4 che nn superano la lughezza, come secondo ce ne sono 6,ecc.....bisogna provare un numero abbastanza grosso di combinazioni per ottenere i dispositivi
il problema quindi è che quello di implementare un algoritmo che provi tutte le possibili combinazioni sui componenti


ciao,
scusa vuoi dire che 2 7 17 24 26 sono le posizioni dei componenti sulla griglia/nastro?
Vuol dire che il primo componente parte da posizione 2 e può occupare sino a posizione 7 e cioè 5 posizioni e se un componente è lungo diciamo 6 lo sis carta ?

ciao

__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....


Posted by kalbiz on 04-06-2010 08:58:

se le prime coordinate che ti passa sono 2 e 7
il componente deve avere lunghezza massimo 5
tra quelli di lunghezza massimo 5 cerchi quello con area maggiore ...
"
non è chiaro però come possa esistere un dispositivo lineare non adeguato "

se ho anche solo un componente che si adatta ad uno dei ganci perchè non dovrebbe costruire un dispositivo ??
cioè
c 1 2 3 2 5
c 2 3 4 3 5

l 2 4 5

dovrebbe restituire
c 1 2 3 2 5

sembra invece dagli esempi che debba restituire
Non esiste componente adeguato

idee??


Posted by mark on 04-06-2010 09:03:

perfetto grazie

__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....


Posted by carla86 on 04-06-2010 10:36:

mi sapete dire xke nelle visite simmetriche implementate dal prof, sia x quella dell'albero di ricerca sia per quelli dell'albero red-black, tra i parametri ce un puntatore a funzione ke poi nn viene usato da nessun'altra parte??

void inorder(searchtree *p, void (*op)(searchtree *))
{
if(p) {
inorder(p->left,op);
(*op)(p);
inorder(p->right,op);
}
}

e poi xke nella visita inorder per gli alberi red-black ci sono addirittura due funzioni? nn basta in order, passandogli al posto d un nodo qualsiasi, la radice dell'albero?

void inord(rbnode *p, rbnode *nil, void (*op)(rbnode *))
{
if(p != nil) {
inord(p->left,nil,op);
(*op)(p);
inord(p->right,nil,op);
}
}

void inorder(rbtree *p, void (*op)(rbnode *))
{
inord(p->root, p->nil, op);
}


Posted by misterx on 05-06-2010 08:56:

io ho toccato il meno possibile evitando di eliminare quello che non è strattamente chiaro, al massimo viene passato un parametro che non viene usato in questa implementazione


Posted by Spr1gg4N on 05-06-2010 09:22:

ragazzi ma voi come avete risolto per l'input del comando "o" (ordina)?
non riesco proprio a creare un array di int che aumenti dimensione man mano che viene inserito un nuovo numero in input -.-'


Posted by Spr1gg4N on 05-06-2010 16:58:

altra domanda: ma quando un albero (creato magari per un'operazione momentanea) non mi serve più, come faccio esplicitamente a deallocarlo?


Posted by Spr1gg4N on 05-06-2010 17:46:

Per quanto riguarda la funzione lineare ho un paio di domande:
1) se non esiste una componente che stia nello spazio tra due ganci che si fa? Si lascia vuoto quello spazio oppure si stampa il messaggio di errore?

2) nell'esempio 2, come secondo componente mette c1 oppure c2 che hanno entrambi estensione 12....come mai non sceglie c3 che è più corto dei precedenti ma ha estensione maggiore (24)?

EDIT:
-------------
quindi come soluzione possibile dell'esempio 2 io metterei anche:
69: (<c5,2>,<c3,7>,<c1,17>,<c6,24> ) oppure
69: (<c5,2>,<c3,7>,<c2,17>,<c6,8> )

voi che dite?


Posted by mark on 05-06-2010 17:59:

Originally posted by Spr1gg4N
altra domanda: ma quando un albero (creato magari per un'operazione momentanea) non mi serve più, come faccio esplicitamente a deallocarlo?


bella domanda: io inizializzo banalmente il puntatore alla radice a NULL, purtroppo è una sporca che non dealloca la memoria

__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....


Posted by Spr1gg4N on 05-06-2010 18:14:

Originally posted by mark
bella domanda: io inizializzo banalmente il puntatore alla radice a NULL, purtroppo è una sporca che non dealloca la memoria


mmm si potrebbe una soluzione...però prima cmq bisogna eliminare tutti i nodi altrimenti la memoria è cmq occupata.


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

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