 | |
Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum |
[PROGETTO] Ingranaggi II Clicca QUI per vedere il messaggio nel forum |
Deky |
ragazzi ma voi che funzione avete usato per leggere la stringa?? perke' ho notato che i miei problemi sn in qualche modo legati a questa funzione del pistola.......... |
Sacratix |
...
il parametro %s nella printf |
Sacratix |
allora...
Aguzzoli rispone:
Si', avete ragione, nella stesura del progetto
non abbiamo considerato questo caso.
A questo punto:
mi sembra che per chi abbia gia' deciso come affrontare gli
altri aspetti del progetto sia piu' conveniente
considerare che il macchinario risultante dall'inserimento
di a,b,c,d, con conseguente rimozione di d,
sia semplicemente *fermo* o bloccato e che quindi
inserimenti di **ulteriori** piastre adiacenti ad a,b e/o d
siano impossibili perche' il macchinario risultante
sara' ancora bloccato.
La rimozione successiva di una fra a b e d o la riinserzione
di una piastra sovrapposta a tutte sbloccherebbe di nuovo
il macchinario.
Nella "mia implementazione" non vedo complicazioni aggiuntive
nel gestire la cosa in questo modo (la visita del macchinario
per stabilire se l'inserimento di una piastra consente al
macchinario di girare rimane la stessa).
Resta il fatto che ammetto che il progetto erroneamente
non specifica cosa succede nel caso da lei evidenziato
e quindi saro' flessibile nel giudicare come tale caso
sara' stato affrontato da lei e dai suoi colleghi,
e i miei test non conterranno esempi del caso.
(Ad esempio, potreste semplicemente considerare che
tale situazione non si verifichi mai, e non gestirla
del tutto).
Non posso pero' giustificare soluzioni implementative
che prendano questo caso come "scusa" per non realizzare
pienamente le funzionalita' richieste dal progetto.
Dunque, una piastra deve potersi sovrapporre a piu'
piastre adiacenti, dato che avete la mia garanzia
che il caso incriminato non si verifichera' mai
nei test.
//------------------------------------------------
riassunto:
inserite comunque le piastre che tanto non testerò
il caso di blocco nell'eliminazione |
khelidan |
Originally posted by Sacratix
...
il parametro %s nella printf
scanf al massimo, e comunque c'è scritto che non si devono avere limiti di lunghezza,cioè dovresti riallocare spazio qualora la tua stringa sia piu grande del char* definito per la scanf |
Sacratix |
ops...
io mio riservo comunque di imporre che più di 100 char per nome non siano presi
anche perchè, scusa, come fai altrimenti? leggi charxchar e li accodi in una lista finchè non ternima l'inserimento?
non si devono avere limiti di lunghezza, peccato che trovare spazio (consecutivo) in RAM per un numero indefinito di char non è sempre possibile, fallisce l'allocazione |
khelidan |
si puo,guarda i progetti vecchi,le varie funzioni leggi stringa,la calloc ci vuole mi pare,allochi spazio consecutivo |
Sacratix |
appunto perchè lo spazio necessario è consecutivo che ad un certo punto non si trova più, e allora si parte con lo swap
cmq. ora guardo i vecchi progetti, al massimo un sano copia e incolla |
pirlo21 |
ragazzi non sono sicuro sull'eliminazione...
void eliminazione(char * nome){
int x;
if(nome[0]>='a' && nome[0]<='z')
elimina(nome);
else
{x=atoi(nome);
eliminah(x);
}}
Dovrebbe andare così? E poi come gestite voi l'eminazione delle piastre alla stessa altezza? Bisogna fare una visita in ampiezza del grafo o c'è qualche soluzione migliore? |
khelidan |
ragazzi io ho un problema,avete presente la porzione di codice della rbdelete,copio da algo team:
code:
void rbdelete(rbtree *tree, rbnode *q)
{
rbnode *r, *s;
if(q->left == tree->nil || q->right == tree->nil)
r = q;
else
r = treesucc(tree,q);
s = r->left != tree->nil ? r->left : r->right;
s->up = r->up;
if(r->up == tree->nil)
tree->root = s;
else
if(r == r->up->left)
r->up->left = s;
else
r->up->right = s;
if(r != q)
q->v = r->v;
if(r->c == black)
fixup(tree, s);
free(r);
}
il pezzo in grassetto,quando la delete entra in quell'if e trova quel nodo,le adiacenze che puntano a quel nodo vengono sostituite con l'ultimo nodo che poi andrò a inserire dopo la delete....che delirio,qualcuno ha idea di che razza di magagna sia?? |
khelidan |
Originally posted by pirlo21
ragazzi non sono sicuro sull'eliminazione...
void eliminazione(char * nome){
int x;
if(nome[0]>='a' && nome[0]<='z')
elimina(nome);
else
{x=atoi(nome);
eliminah(x);
}}
Dovrebbe andare così? E poi come gestite voi l'eminazione delle piastre alla stessa altezza? Bisogna fare una visita in ampiezza del grafo o c'è qualche soluzione migliore?
visita inorder,non mi viene in mente niente altro! |
pirlo21 |
ok grazie...sembra funzionare...adesso devo solo capire perchè se ho 2 piastre sovrapposte a una, se le visito da quella in basso le vede tutte e 3, mentre da quelle più in alto vede solo quella ad altezza minore |
Sacratix |
Originally posted by pirlo21
ragazzi non sono sicuro sull'eliminazione...
void eliminazione(char * nome){
int x;
if(nome[0]>='a' && nome[0]<='z')
elimina(nome);
else
{x=atoi(nome);
eliminah(x);
}}
Dovrebbe andare così? E poi come gestite voi l'eminazione delle piastre alla stessa altezza? Bisogna fare una visita in ampiezza del grafo o c'è qualche soluzione migliore?
sì, anche sei farei
else
eliminah( atoi(nome));
mentre per cercare le altezze, le passi tutte una dopo l'altra seguendo la lista
se visiti il grafo, non è detto che questo sia connesso del tutto e ne perdi qualcuna |
Sacratix |
Originally posted by pirlo21
ok grazie...sembra funzionare...adesso devo solo capire perchè se ho 2 piastre sovrapposte a una, se le visito da quella in basso le vede tutte e 3, mentre da quelle più in alto vede solo quella ad altezza minore
o hai perso qualche pezzo di grafo, o prima di iniziare la visita hai già qualche nodo marcato |
khelidan |
Originally posted by Sacratix
mentre per cercare le altezze, le passi tutte una dopo l'altra seguendo la lista
se visiti il grafo, non è detto che questo sia connesso del tutto e ne perdi qualcuna
io ho risolto in modo molto più grezzo,variabile globale! :asd:
Se avrò tempo e voglia risistemerò un po il codice!
Ah comunque ho risolto il mio problema,in pratica non avevo aggiornato i puntatori nelle mie adiacenze e sovrapposizioni per puntare al nuovo assetto dell'albero dopo la rbdelete! |
jamez-hetfield |
Ciao Raga..
..a quanto pare i casini saltano sempre fuori alla fine eh? :D..e soprattutto gli "aspetti" che nemmeno il prof ha calcolato..
..io doma consegno tutto..voglio ben vedere se mi boccia xk non ho implementato controlli che non ha definito nemmeno vagamente..
..sto esame però mi sembra abb gestito male..per quanto possa stimare i prof (soprattutto torelli, ce ne fossero di più di prof così..) veramente sono abbastanza sconcertato:
..progetto abbastanza campato in aria (non dico che doveva esser già fatto o semplicissimo, però per lo meno definire in modo preciso il blocco e le interazioni tra piastre..)
..quello che mi scoccia di più però è che oltre alla consegna elettronica (semplice e veloce) dobbiamo pure stamparci tutto e portarglielo (..io domani perdo un giorno di lavoro..mi faccio 6 ore di viaggio tra andata e ritorno per i 10 secondi che mi servono ad infilare la busta nella casella..e in tutto butto via 20€ che preferirei tenere in tasca visti i tempi :)..non sono mica tutti di milano!) voi direte:"così almeno sei sicuro che ha ricevuto in qualche modo il progetto..", basterebbe una risposta automatica alle mail..
..sono rimasto abbastanza deluso (e dire che solo tre o quattro mesi fa ho passato basi con un +1 su un max di +3 al progetto datomi da un'assistente che nemmeno ha aperto il sito, dopo 2 mesi di lavoro estenuante..e la notte prima insonne a finire la documentazione..che tra l'altro in pochi hanno fatto)..
..vabbè, a voi magari non interessa quello che penso :) (giustamente direi, ognuno pensa per se)..ma cmq è stato un modo di sfogarsi..
Buona Notte Raga..in bocca al lupo.. |
pirlo21 |
per sacratix:
ma se eseguo la visita inorder non dovrei vedere tutti i nodi per la ricerca delle altezze?
poi vi chiedo un suggerimento per la visita delle piastre...diciamo che sto andando un po' per tentativi, con una visita in ampiezza per le piastre adiacenti e per ogni piastra adiacente attivo la visita delle sue piastre sovrapposte...però così mi perdo le piastre adiacenti ad una sovrapposta... :( help me...
per jamez-hetfield:
la penso come te e credo che questo discorso valga per tante cose...io prima facevo il politecnico, ho amici che studiano a Torino e solo da noi per dare un esame bisogna fare scritto, orale, progettino, orale del progettino...per di più in una buona parte di questi esami, se va male una parte (o se non è possibile quel giorno sostenere quella parte), bisogna rifare tutto da capo. Poi ci sono professori che non rispondono alle e-mail e allora oltre a spendere tempo e soldi per andare a Milano a dare le infinite parti di un esame, bisogna anche fare su e giu per andare a ricevimento... che scuola... |
pirlo21 |
che bello...stamattina mi va in crash anche l'eliminazione...
con una piastra h=0 e una su di essa h=1 se faccio e 1 funziona...
se metto un po' di piastre adiacenti e su una di queste una sovrapposta, se faccio e 1 si blocca tutto |
jamez-hetfield |
Grazie per l'appoggio pirlo21..
..tante volte mi meraviglio ancora di ste cose! :)
Ho appena consegnato..ora invio la mail e poi staremo a vedè! |
jamez-hetfield |
..inviata! |
CaboM.BNA |
Originally posted by Sacratix
DALLA RISP DEL PROF AGUZZOLI...
Dunque, una piastra deve potersi sovrapporre a piu'
piastre adiacenti
saro GNUCCO... ma NON capisco...
due piastre adiacenti ("a" e "b" nel disegnino di Socratix) girano in sensi opposti.
La piastra ("c" nel disegno) che si svorappone AD ENTRAMBE... in che caxxo di senso dovrebbe girare?
A MIO AVVISO TRATTASI DELLA CONDIZIONE (A2) DEL TESTO DEL PROGETTO, CHE CAUSA IL BLOCCO... |
jamez-hetfield |
Originally posted by CaboM.BNA
saro GNUCCO... ma NON capisco...
due piastre adiacenti ("a" e "b" nel disegnino di Socratix) girano in sensi opposti.
La piastra ("c" nel disegno) che si svorappone AD ENTRAMBE... in che caxxo di senso dovrebbe girare?
A MIO AVVISO TRATTASI DELLA CONDIZIONE (A2) DEL TESTO DEL PROGETTO, CHE CAUSA IL BLOCCO...
Raga ho trovato la soluzione a tutto..
..in quel caso all'inserimento di "c" le due piastre "a" e "b" girano nello stesso senso della prima in quanto tutte appartenenti allo stesso gruppo..questo caso è però un caso particolare, quindi il sistema ritorna:
"complimenti: hai spanato le ruote dentate di a e b"
..peccato che ho già consegnato..
Sempre tardi m'arrivano ste idee! |
CaboM.BNA |
:lol:
io non ho ancora mandato la mail...
quasi quasi glielo scrivo... |
jamez-hetfield |
..la cosa più bella sarebbe poter vedere la sua faccia quando gli fai stampare quell'output!! |
pirlo21 |
eheheh cmq sarebbe logico permetterne l'inserimento se le piastre sottostanti sono ferme...in quel caso avviandole partiranno tutte nello stesso senso, altrimenti se le piastre sono in movimento (lo dice il testo) non è possibile inserire alcuna piastra |
pirlo21 |
jamez ma tu come gestisci la stampa del macchinario? io sono in crisi da stamattina... finchè inserisco piastre di h<=1 funziona, appena ne metto una di h=2 mi perdo qualche piastra |
jamez-hetfield |
X IL PROF..
Salve prof,
ho visto che m'ha scritto ma non accetta risposte tramite il forum..
Le rispondo qua..
..posto anche la sua mail perchè è giusto che tutti la leggano..
(più che altro sennò non capiscono di cosa sto parlando! :D )
Vorrei precisarle almeno due cose:
1) La preparazione del tema d'esame e' molto laboriosa, puo' capitare
che sfuggano alcune problematicita' che poi emergono durante lo svolgimento.
In questo caso e' opportuno segnalarle ai docenti in modo tale che
i problemi possano essere risolti senza aggravi per gli studenti.
2) La stampa del codice e della relazione e' chiesta unicamente per accelerare il lavoro di correzione.
Mi e' capitato piu' di una volta che uno studente abbia segnalato difficolta'
simili alle sue. In tali casi, ho sempre dispensato lo studente dalla consegna
della documentazione cartacea.
Comunque per il futuro le consiglio, in caso di problemi, di contattare direttamente
i docenti interessati
..io assolutamente non metto in dubbio che nella preparazione di un progettino alcuni dettagli sfuggano (sarebbe un supereroe se non fosse così) però in questo caso penso che improntare il progettino sull'aspetto "reale" della cosa (piastre, ingranaggi ecc..) sarebbe stato un modo per dare un'indicazione chiara a tutti..
..soprattutto per quanto riguarda le sovrapposizioni che sono state a lungo tema di incomprensioni..
..comunque, le mie lamentele sono anche (e l'ho scritto più volte) una sorta di sfogo personale in seguito anche ad un periodo abbastanza "pieno"..periodo in cui la minima cosa può sembrare gigante (un forum di studenti serve anche a questo :) )..
..probabilmente tra un mese ci ripenserò e ci riderò sopra..
Per quanto riguarda la gestione dell'esame mi sono espresso male..le mie lamentele si indirizzavano soprattutto al fatto che il progetto di fatto parte cercando di dare un'impronta "reale", cerca di esprimere la rappresentazione di un contesto reale..però poi molte cose sono in contradizione con ciò..
..poi per il resto non mi posso assolutamente lamentare: le ho scritto un paio di volte ed è stato velocissimo nel rispondermi..ci lascia esprimere una preferenza sul giorno dell'esame..come ho già detto "magari tutti i prof fossero cosi!"
..il contattarla per chiederle di esonerarmi dalla consegna del cartaceo mi sembrava ingiusto..so che può sembrare stupido ma il mio carattrere mi limita ne richiedere "privilegi" (parola non adatta al caso..non è poi un privilegio così importante..ma non trovavo un'altra parola! :) )
..ora devo correre a prendere il pullman..spero d'esser riuscito a chiarire la faccenda..
..o per lo meno a porre chiarezza sul vero oggetto delle mie "lamentele"..
..buona giornata a tutti..a presto! |
Sacratix |
Originally posted by jamez-hetfield
..la cosa più bella sarebbe poter vedere la sua faccia quando gli fai stampare quell'output!!
meraviglioso :D
anzi impagabile |
Sacratix |
Originally posted by CaboM.BNA
saro GNUCCO... ma NON capisco...
due piastre adiacenti ("a" e "b" nel disegnino di Socratix) girano in sensi opposti.
La piastra ("c" nel disegno) che si svorappone AD ENTRAMBE... in che caxxo di senso dovrebbe girare?
A MIO AVVISO TRATTASI DELLA CONDIZIONE (A2) DEL TESTO DEL PROGETTO, CHE CAUSA IL BLOCCO...
tutte e tre nello stesso
cmq. sono [ovviamente] con te
se non fosse per questo caso, il mio progetto sarebbe finito 3 giorni fà
invece adesso mi tocca ############# [speriamo non abbia letto...] |
Sacratix |
Originally posted by pirlo21
per sacratix:
ma se eseguo la visita inorder non dovrei vedere tutti i nodi per la ricerca delle altezze?
poi vi chiedo un suggerimento per la visita delle piastre...diciamo che sto andando un po' per tentativi, con una visita in ampiezza per le piastre adiacenti e per ogni piastra adiacente attivo la visita delle sue piastre sovrapposte...però così mi perdo le piastre adiacenti ad una sovrapposta... :( help me...
1.
guarda, sì, funziona
[avevo confuso visita dell'albero con quella del grafo]
ma mi sembra molto più automatica la visita della lista;
almeno, ogni piastra del mio grafo ha:
- colore e puntatori dell'albero RB
- puntatori next, prev per la lista[bi]
- tutto il resto...
se usi la lista è un while
se usi l'albero, molto probabilmente di più che un piastra->next
2.
ma il problema non è così complicato
nel grafo normale hai una lista
e ad un certo punto salta fuori il
temp = piastra->adiacenti
while( temp)
{##solite cose##}
se ne hai un'altra, aggiungi un altro while subito dopo
temp = piastra->sovrapposte
while( temp)
{##solite cose##}
/*e funziona sempre, poi se ci pensi puoi metterne solo una in un for*/
/*però non ti dico come XD il prog deve pur sempre essere fatto singolarmente*/ |
Sacratix |
per jamez:
le copie da fare sono due...
/*e per oggi basta, ho già lavorato troppo sul forum :p*/ |
iloz |
Buon giorno a tutti,
sono Aguzzoli.
Non sono mai intervenuto prima nei vostri forum,
ma ritengo che la situazione stia prendendo una piega
tale da dover fare un'eccezione ed intervenire
per alcune puntualizzazioni.
Sebbene ne condivida il contenuto, NON HO SCRITTO
la mail riportata dallo studente Jamez-Hetfield,
che dunque ha sicuramente molta fantasia.
Lo invito a non usarla per seminare zizzania:
non ce n'e' davvero bisogno.
--- per quanto riguarda altri aspetti del progetto che
hanno infiammato la discussione:
1) Ho riconosciuto esplicitamente che questa volta
le specifiche non contemplavano il caso ABCD che
mi avete sottoposto. Vi ho detto che non dovete
preoccuparvene, poiche' non comparira' mai nei test.
Vi ho anche spiegato che se avete implementato
l'algoritmo di inserimento della piastra in modo completo,
vale a dire in modo tale che nessuno dei casi "previsti"
di blocco possa accadere, allora il caso ABCD non
dovrebbe causare alcun problema speciale: sul
piano c'e' il macchinario ABD gia' bloccato: vale a dire
che qualunque piastra si tenti di mettere in posizione
adiacente ad ABD il macchinario risultera' bloccato.
Ripeto: se l'algoritmo di controllo del blocco e' completo,
la configurazione ABD non dovrebbe causare alcuna
ulteriore complicazione, poiche' l'algoritmo di controllo del blocco
del macchinario non puo' in genere limitarsi a controllare
le piastre immediatamente adiacenti alla piastra che
si sta inserendo.
2) Riguardo all'aderenza del testo del progetto
alla "realta' fisica":
Il testo del progetto riporta delle specifiche formali
che non hanno alcuna pretesa di adeguarsi
alla realta' fisica. Per esporle si usa una metafora:
nel caso presente, quella di ingranaggi e piastre.
Ragionare sulla presunta natura fisica di questi enti
piuttosto che sulle specifiche e' un errore concettuale
e metodologico piuttosto grave.
Comunque, ho sempre risposto in modo chiaro
alle vostre domande in merito: ad esempio
ho risposto esplicitamente a coloro di voi che mi hanno
chiesto se l'altezza delle piastre fosse rilevante nella
procedura di inserimento, e la risposta era un chiaro no.
Per cui vi invito a lavorare serenamente e come
credo di aver sempre fatto, rimango a vostra disposizione
per tutti i chiarimenti del caso. |
khelidan |
jamez....ma a chi hai scritto,Aguzzoli o Fiorentini?? :asd: |
pirlo21 |
ho risolto... resta un problema di un macchinario che si blocca e non dovrebbe... e poi una curiosità...nel test del professore in fondo alle direttive del progetto, alla fine, dopo l'inserimento di mu, attivando gamma in senso antiorario, lo stato di kappa non dovrebbe essere antiorario? invece sul testo dice che kappa gira in senso orario |
khelidan |
ma voi per testare il blocco inserite prima la piastra,io ho optato per questo,non sono riuscito a trovare,almeno per ora un algoritmo che mi testi il blocco in modo corretto in tutti i casi prima di inserire |
pirlo21 |
scusate il contrario...dovrebbe essere orario ma il testo dice antiorario |
khelidan |
Originally posted by pirlo21
ho risolto... resta un problema di un macchinario che si blocca e non dovrebbe... e poi una curiosità...nel test del professore in fondo alle direttive del progetto, alla fine, dopo l'inserimento di mu, attivando gamma in senso antiorario, lo stato di kappa non dovrebbe essere antiorario? invece sul testo dice che kappa gira in senso orario
kappa è giusto antiorario,è così anche sul testo,almeno la versione che ho stampatro |
pirlo21 |
vi posto l'immagine della situazione finale...
dunque dopo aver inserito mu viene attivata gamma in senso antiorario; quindi alfa e iota che fanno parte dello stesso gruppo di gamma saranno anch'esse in senso antiorario.
Poi mu è dello stesso gruppo di iota, quindi anch'essa senso antiorario.
mu si sovrappone a delta, epsilon e zeta che saranno quindi attive nello stesso senso di mu (antiorario).
kappa e lambda fanno parte dello stesso gruppo e sono adiacenti a mu, delta e zeta che girano in senso antiorario, quindi kappa e lambda saranno in senso orario.
infine beta è dello stesso gruppo di lambda e girerà in senso orario...
Se non ho sbagliato qualche coordinata del disegno kappa dovrebbe girare in senso orario e non antiorario come detto sul testo |
khelidan |
edit poi la guardo ma a me sul progetto mi da antiorario |
jamez-hetfield |
Originally posted by pirlo21
jamez ma tu come gestisci la stampa del macchinario? io sono in crisi da stamattina... finchè inserisco piastre di h<=1 funziona, appena ne metto una di h=2 mi perdo qualche piastra
Ciao pirlo..
..scusa il ritardo ma oggi rischiavo di perdere il pullman..
Guarda io ho implementato il tutto come un grafo non orientato dove i nodi sono le piastre e gli archi le sovrapposizioni (o adiacenze)..in sostanza per stamparlo parto dalla piastra richiesta e ricorsivamente lo visito tutto..per eliminare le ripetizioni e i cicli uso un flag "visitato" per ogni piastra.. |
jamez-hetfield |
Originally posted by khelidan
jamez....ma a chi hai scritto,Aguzzoli o Fiorentini?? :asd:
Oddio..aspettate che controllo.. |
jamez-hetfield |
Raga CHIARIAMO LA SITUAZIONE..
(perchè qua è un casino! :))
..allora, premetto che io non ho scritto a NESSUNO..ho scritto solo il post a pag. 15
Ciao Raga..
..a quanto pare i casini saltano sempre fuori alla fine eh? ecc.. ecc.. ecc..
..in risposta a quel posti oggi m'è arrivata la mail che ho postato dal prof. FIORENTINI..
CHIEDO SCUSA AL PROF AGUZZOLI se posso aver dato l'idea di riferirmi a lui..
..sinceramente nella foga del momento non ho fatto caso al nome e l'ho collegata subito a lei visto che è il nostro prof (o per lo meno per quelli che come me sono iscritti al turno 2)..
[non sapevo sinceramente che il progetto era comune anche al turno 1, vabbè, dettagli..]
PERDONO!! :-D
..comunque, avrei desiderato chiarirmi direttamente con lui ma ha il blocco della mail tramite il forum..quindi ho pensato di scrivere qua visto che comunque è argomento comune..
..voglio precisare che la mail l'ho ricevuta davvero, precisamente oggi alle 12.41..di seminare zizzania manco m'è passato in mente (ne tantomeno inventarmi una mail..fa troppo caldo per poter far una cosa del genere :D)..figuriamoci..
..per quanto riguarda il resto io ho semplicemente espresso un mio parere sul testo del progettino..mica pensavo di aprire un discussione tale..sennò mi sarei astenuto mooolto volentieri..
..per chiudere (speriamo) la faccenda..
Originally posted by iloz
Per cui vi invito a lavorare serenamente e come
credo di aver sempre fatto, rimango a vostra disposizione
per tutti i chiarimenti del caso.
..grande prof!
Grazie Mille! :) |
jamez-hetfield |
Originally posted by Sacratix
per jamez:
le copie da fare sono due...
..due?! :shock: |
jamez-hetfield |
Originally posted by jamez-hetfield
..due?! :shock:
Dimmi che la seconda è quella da portarsi dietro all'orale TI PREGO! |
Sacratix |
Originally posted by jamez-hetfield
Dimmi che la seconda è quella da portarsi dietro all'orale TI PREGO!
:D
suspance
sì |
Sacratix |
Originally posted by pirlo21
vi posto l'immagine della situazione finale...
dunque dopo aver inserito mu viene attivata gamma in senso antiorario; quindi alfa e iota che fanno parte dello stesso gruppo di gamma saranno anch'esse in senso antiorario.
Poi mu è dello stesso gruppo di iota, quindi anch'essa senso antiorario.
mu si sovrappone a delta, epsilon e zeta che saranno quindi attive nello stesso senso di mu (antiorario).
kappa e lambda fanno parte dello stesso gruppo e sono adiacenti a mu, delta e zeta che girano in senso antiorario, quindi kappa e lambda saranno in senso orario.
infine beta è dello stesso gruppo di lambda e girerà in senso orario...
kappa e lambda sono sovrapposte a beta ed epsilon
l'intero macchinario è quindi anche un gruppo |
jamez-hetfield |
Uff..sospiro di sollievo! :prr: |
Sacratix |
Originally posted by khelidan
ma voi per testare il blocco inserite prima la piastra,io ho optato per questo,non sono riuscito a trovare,almeno per ora un algoritmo che mi testi il blocco in modo corretto in tutti i casi prima di inserire
no, ma le mie piastre non si fermano mai
quindi io i controlli li ho fatti sui sensi di rotazione |
pirlo21 |
Originally posted by Sacratix
kappa e lambda sono sovrapposte a beta ed epsilon
l'intero macchinario è quindi anche un gruppo
ecco...avevo sbagliato infatti le coordinate di lambda... :)
adesso ho questo problema:
quando inserisco una piastra che va a sovrapporsi a due piastre adiacenti, mi blocca il macchinario... ovvero il classico problema di cui si era parlato...grrrrrrrrrrrrrrrrrrrr
non si fa tempo a sistemare una cosa che ne esce un altra |
khelidan |
Originally posted by pirlo21
ecco...avevo sbagliato infatti le coordinate di lambda... :)
adesso ho questo problema:
quando inserisco una piastra che va a sovrapporsi a due piastre adiacenti, mi blocca il macchinario... ovvero il classico problema di cui si era parlato...grrrrrrrrrrrrrrrrrrrr
non si fa tempo a sistemare una cosa che ne esce un altra
tu quando fai la visita per il controllo devi sempre dare priorità alle sovrapposizioni,in un caso del genere quello diventa un gruppo e ti conviene trattarlo come tale,almeno è quello che ho fatto io |
jamez-hetfield |
Originally posted by khelidan
tu quando fai la visita per il controllo devi sempre dare priorità alle sovrapposizioni,in un caso del genere quello diventa un gruppo e ti conviene trattarlo come tale,almeno è quello che ho fatto io
IDEM |
Sacratix |
questa cosa è nuova...
ora, alla fine dell'istruzione
e 1
le coordinate x_min y_min di iota sono sballate o.O
facendo l'esecuzione passo passo,
i vari passaggi per il ripristino di rotazioni, sovrapposizioni, adiacenze,
sono corretti,
così come l'eliminazione dall'albero [nel caso specifico, i valori di iota si sovrascrivono a quelli di gamma, correttamente]
il problema sembra essere sulla return al main...
e non è neanche un problema nel passaggio dei parametri
perchè solo qulle due coordinate sballano...
? |
pirlo21 |
niente da fare...ho rifatto da capo la funzione ma il problema è lo stesso...adesso riesco a inserire la piastra su due adiacenti, ma mi sballa le rotazioni... se le attivo da quelle in basso tutto ok, da quella che si va a sovrapporre invece da a una lo stesso senso e all'altra il senso opposto... |
pirlo21 |
FINITOOOOOOOOOOOOOOOOOOOOOOOOOO :) |
jamez-hetfield |
Grande Pirlo!!
..hai portato a termine l'esempio di fine testo? |
khelidan |
Originally posted by pirlo21
FINITOOOOOOOOOOOOOOOOOOOOOOOOOO :)
l'ultima volta che l'ho detto mi si è scazzata la delete e l'attivazione di prova del blocco....:asd::asd: |
pirlo21 |
ehhehe mi sto toccando le parti basse :)
cmq rifaccio qualche prova e poi inizio a fare la relazione |
Sacratix |
non capisco come mai se faccio
e #n°
non funziona più
ma se faccio
ma se le elimino nome per nome và tutto,
eppure entrambe richiamano la stessa funzione! |
jamez-hetfield |
Originally posted by Sacratix
non capisco come mai se faccio
e #n°
non funziona più
ma se faccio
ma se le elimino nome per nome và tutto,
eppure entrambe richiamano la stessa funzione!
..sarà qualcosa prima della chiamata allora..nella funzione "elimina_altezza" o quello che è..
..magari un ciclo fatto male.. |
Sacratix |
no, il ciclo era giusto,
solo che prima di eliminare la singola piastra, la toglievo dalla lista
risistemando next e prev
poi nell'albero, quando faccio la copia dei valori dal nodo minimo, a quello da cancellare, [sovrascrivo a gamma, iota]
dicevo, giustamente, alle piastre prev e next di iota, che si è spostata!
levato questo, ha ricominciato a funzionare...
misteri dell'informatica :shock: |
jamez-hetfield |
Hehe..già.. |
Sacratix |
ciononostante sono sempre qua a chiedermi come mai all'uscita della funzione SOLO x_min e y_min della piastra in testa mi sballano
[sempre iota, sempre i**ota] |
pirlo21 |
ma iota davvero porta sfiga...anche io ho avuto mille problemi con quella piastra...prova a chiamarla diversamente :P |
Sacratix |
-.-"
comunque ho risolto
era perchè, quando elimino la piastra dall'albero, faccio come c'è scritto nel codice, e copi i campi uno a uno,
solo che nel codice dell'algoteam non era previsto che i nodi fossero anche linkati in una lista, e copiandoli, la lista mi sballava,
se sistemavo anche i puntatori della lista, [del->prev->next, del->next->prev] il risultato non cambiava;
visto che io intanto quella lista la stò passando per cercare le piastre di altezz H , l'indice di dove mi trovavo, saltava per aria
XD
ma ora và!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ho preferito sbattermene e spostare direttamente il nodo dell'albero |
pirlo21 |
ehehe cmq riepilogando bisogna mandare il codice sorgente massimo domani sera, poi in forma cartacea consegnare entro lunedì sera copia del codice sorgente e relazione...ok? |
Sacratix |
ouì
ma anche la relazione via mail, no? |
pirlo21 |
la relazione non credo...solo in formato cartaceo |
Sacratix |
adesso non capisco perchè, le piastre mi vengono inserite nel grafo, ma non nell'albero... |
Sacratix |
Originally posted by pirlo21
la relazione non credo...solo in formato cartaceo
sì hai ragione |
marghe |
Originally posted by Sacratix
sì hai ragione
Sulle specifiche del prof a pag 9 c'è scritto che anche la relazione va inviata per email... |
Sacratix |
no no, nel punto 1 chiede solo il codice via mail
nel punto due dice che relazione e codice stampati vanno a mano |
marghe |
Originally posted by Sacratix
no no, nel punto 1 chiede solo il codice via mail
nel punto due dice che relazione e codice stampati vanno a mano
forse sono stordita dopo tutte queste ore di programmazione :) ma non riesco proprio a vedere quanto dici, anzi dopo i due punti dice che file sorgenti + relazione devono essere contenuti in un unico zip, no? :? |
khelidan |
Occorre presentare: 1. il codice sorgente (rigorosamente ANSI C, compilabile con gcc); 2. una sintetica relazione (formato pdf o rtf) che illustra le strutture dati utilizzate e analizza il costo delle diverse operazioni richieste dalla specifica. I due o pi` file (file sorgenti C + relazione) devono essere contenuti in un unico file .zip il cui nome u dovr` essere cognome.zip. La relazione e il codice devono riportare il vostro nome, cognome e matricola. a Una copia cartacea della relazione e del codice deve inoltre essere consegnata al dr. Aguzzoli entro il 20 luglio 2008 (lasciandola eventualmente nella sua casella postale presso il dipartimento in via Comelico). Si ricorda infine di presentarsi alla prova orale con una copia stampata della relazione e del codice. |
jamez-hetfield |
I due o più file (le sorgenti C + relazione) devono essere contenuti in ununico file .zip il cui nome dovr'à essere cognome.zip.
La relazione e il codice devono riportare il vostro nome, cognome e matricola. |
jamez-hetfield |
Khelidan..m'hai anticipato d'un soffio!! |
khelidan |
cmq non è che fosse un gra problema spedire tutti e due comunque! ;)
Piuttosto io devo capire come calcolare i costi delle funzioni,zero voglia di fare questa relazione |
Sacratix |
perchè io invece ho questo?
1. Inviare il codice del progetto per posta elettronica all’indirizzo fiorenti@dsi.unimi.it. La e-mail
deve avere come subject “Progetto di Cognome Nome”, il file sorgente deve essere allegato alla
e-mail e deve chiamarsi cognome.c. Ad esempio, lo studente Mario Bianchi deve inviare una e-mail
avente come subject Progetto di Bianchi Mario e allegare il file bianchi.c contenente il codice.
Nel caso il progetto sia suddiviso in pi`u file, va allegato un file cognome.tar (oppure cognome.zip),
contenente i file sorgente. In questo caso, i file devono rispettate le usuali convenzioni (ad esempio,
i file con suffisso .h devono contenere solo definizioni, i file con suffisso .c non vanno inclusi in altri
file). Non va inviato il file eseguibile.
2. Consegnare una copia stampata del codice e una sintetica relazione del progetto svolto. La relazione
deve illustrare e motivare le strutture dati e i principali algoritmi utilizzati, analizzandone anche
la complessit`a (il commento alle singole funzioni del programma va fatto all’interno del codice
del programma). Tale materiale va consegnata al dr. Fiorentini entro luned`ı 21 luglio (compreso)
lasciandolo eventualmente nella sua casella postale presso il dipartimento in via Comelico (di fianco
alla portineria, casella numero 45). La relazione e il codice devono riportare il proprio nome,
cognome e matricola. |
jamez-hetfield |
..sei col primo turno? |
khelidan |
se ti sei iscritto con goldruwn mandi il progetto a fiorentini,se lo fai con torelli lo mandi ad aguzzoli |
marghe |
ok ora è tutto chiaro :) |
Sacratix |
ma il problema non è questo...
ma scoprire perchè le piastre mi vengono inserite nel grafo, ma non nell'albero!!! |
Sacratix |
c'è qualche buona anima pia che ci darebbe un' occhiata veloce? tanto è quello dell'algo, quindi dovrebbe essere +- la stessa
perchè proprio non sò più dove sbattere la testa... |
khelidan |
ma che intendi per grafo?il grafo è fatto dall'albero piuù le sue liste di adiacenza.... |
Sacratix |
il mio ha anche la lista che tiene uniti tutti i nodi |
khelidan |
a che pro una lista del genere?i nodi sono tenuti insieme dall'albero,cmq il tuo problema è che non fa l'inserimento in quella lista? |
Sacratix |
no, nell'albero
in effetti adesso mi fai dubitare sulla sua utilità, ma ora preferisco finire il progetto, poi vedrò se migliorarlo |
CaboM.BNA |
mi funziona!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!
:ola:
dopo le ultime 30 ore passate in questo stato: :caffe::help::swear::wall::bolted::pccrash::mad: |
khelidan |
io ho appena consegnato,sicuramente avrò sbagliato a calcolare il costo delle funzioni,ma in generale sono abbastanza fiducioso nella mia implementazione :) |
Deky |
secondo voi quanto influisce il corretto calcolo dei costi delle funzioni al fine di essere ammessi all'orale?? |
khelidan |
Originally posted by Deky
secondo voi quanto influisce il corretto calcolo dei costi delle funzioni al fine di essere ammessi all'orale??
se ti toglie anche 2/3 punti è gia tanto,su un progetto del genere,funzionante mi pare assurdo non esser ammesso perchè hai sbagliato una parte di relazione.... |
CaboM.BNA |
O(1/funzione di Ackermann)
scherzi a parte...
credo che si tratti giusto per dare una motivazione per le strutture dati che si è deciso di utilizzare.
per evitare cosi che il docente sia costretto a leggersti RIGA-PER-RIGA tutti i codici dei vari progetti.
in sostanza un sistema per etivare che le persone "scelgano le strutture in base prima che viene loro in mente"...
all'orale lo studente cercherà di motivare (E DIFENDERE ;) ) le sue scelte... |
Deky |
qlcn ha avuto notizie di qualcosa ??? :D :D |
jamez-hetfield |
No no no.. |
pirlo21 |
buon per voi... meglio il silenzio che notizie negative |
khelidan |
Originally posted by Deky
che vuol dire??
ecco meglio che ti preoccupi un po cosi ti passa la voglia di far il burlone via mail.....:asd: |
Deky |
ahahhahahah....e' ke non riesco a studiareeeee.....ufff.... |
pirlo21 |
ke mi han segato...se non vi han detto niente credo che siate ammessi all'orale |
khelidan |
Originally posted by pirlo21
ke mi han segato...se non vi han detto niente credo che siate ammessi all'orale
Motivazione?Giusto per sapere il metro di giudizio! |
pirlo21 |
"Progetto identico a quello di un collega"
Ho utilizzato come base il progetto postato qua sul forum "ingranaggi", di cui tra l'altro le funzioni di base erano prese da Algoteam o dal progetto "rettangoli" postato sul wiki, poi logicamente ho dovuto rivedere la struttura e ogni funzione perchè in ingranaggi non erano previste le sovrapposizioni... Mi spiace perchè io ci ho lavorato seriamente per 2 settimane, anche se dalle parole del prof sembra che abbia fatto un copia-incolla, e soprattutto perchè mi toccherà rifare anche lo scritto perchè sono passati i 5 mesi di validità... |
khelidan |
Originally posted by pirlo21
"Progetto identico a quello di un collega"
Ho utilizzato come base il progetto postato qua sul forum "ingranaggi", di cui tra l'altro le funzioni di base erano prese da Algoteam o dal progetto "rettangoli" postato sul wiki, poi logicamente ho dovuto rivedere la struttura e ogni funzione perchè in ingranaggi non erano previste le sovrapposizioni... Mi spiace perchè io ci ho lavorato seriamente per 2 settimane, anche se dalle parole del prof sembra che abbia fatto un copia-incolla, e soprattutto perchè mi toccherà rifare anche lo scritto perchè sono passati i 5 mesi di validità...
ma fallo con Torelli...farlo con Goldwrum vuol dire volersi male.... |
|
|
|
|