![]() |
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)
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 */
Scusa Carla,
cosa intendi per estensione massima?
Che tra tutti i componenti che formano dispositivi lineari, si sceglie il dispositivo con l'estensione massima?
cosa ci si inventa per la funzione lineare ?
ciao
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?
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.....
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
__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....
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??
perfetto grazie
__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....
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);
}
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
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 -.-'
altra domanda: ma quando un albero (creato magari per un'operazione momentanea) non mi serve più, come faccio esplicitamente a deallocarlo?
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?
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?
__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....
Originally posted by mark
bella domanda: io inizializzo banalmente il puntatore alla radice a NULL, purtroppo è una sporca che non dealloca la memoria
| 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.