Homepage  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


.dsy:it. .dsy:it. Archive > Didattica > Corsi A - F > Algoritmi e strutture dati
Pages: 1 2 [3] 4 5 
Progetto "FACCIALIBRO"
Clicca QUI per vedere il messaggio nel forum
Joy88
Hyperion ti prego non insultarmi..
Chiedo venia....
Usavo x commentare su una sola riga // e senza -ansi funzionava..
invece vuole in ogni caso /*
..e nascevano tutti i problemi....
Ti ringrazio cmq x aver provato ad aiutarmi!!

hyperion
Originally posted by Joy88
Hyperion ti prego non insultarmi..
Chiedo venia....
Usavo x commentare su una sola riga // e senza -ansi funzionava..
invece vuole in ogni caso /*
..e nascevano tutti i problemi....
Ti ringrazio cmq x aver provato ad aiutarmi!!


lol...dai meglio cosi allora ^^

Bloom
Ragazzi, ho finito!!!Ora mi scrivo la relazione.
Non ci posso credere.
:-D

Gehur
ragazzi avrei bisogno di alcuni eventuali chiarimenti:

il grado di separazione all'interno di un gruppo è semplice, nel senso che devo solo contare quanti membri separano A da B

il grado di separazione tra 2 profili è un po + complicato, cammino minimo tra i 2 profili, devono avere amici in comune altrimenti è infinito

la data nel campo stato; in pratica mi serve solo quando devo cambiare lo stato, se la data del nuovo stato è minore di quella presente nello stato attuale non posso modificare, se è maggiore o uguale sovrascrivo lo stato di nick

ho capito bene???

Bloom
Originally posted by Gehur
ragazzi avrei bisogno di alcuni eventuali chiarimenti:

il grado di separazione all'interno di un gruppo è semplice, nel senso che devo solo contare quanti membri separano A da B

il grado di separazione tra 2 profili è un po + complicato, cammino minimo tra i 2 profili, devono avere amici in comune altrimenti è infinito

la data nel campo stato; in pratica mi serve solo quando devo cambiare lo stato, se la data del nuovo stato è minore di quella presente nello stato attuale non posso modificare, se è maggiore o uguale sovrascrivo lo stato di nick

ho capito bene???


Allora:
per il gruppo: devi controllare anche che siano amici come per i profili

il campo data: la data nuova sarà sempre maggiore di quella inserita secondo me.
Nel testo del progetto lo dice.Vai a pagina 4 del progetto sotto paragrafo Funzionalità aggiuntive.
Se non fai la funzionalità aggiuntiva il problema non c'è perchè ogni volta che fai l'operazione n vai a modificare il vecchio stato (lo sovrascrivi).

:):-D:-D

Gehur
purtoppo non riesco a farcela per mercoledi, sono obbligato a fare la versione con la data

in teoria uno mette sempre date maggiori delle precedenti, però magari il controllo lo faccio ugualmente

per i gruppi allora devo controllare che nick e nick2 siano amici e basta, oppure controllare che siano amici anche con i menbri del gruppo che scandisco?

Bloom
Originally posted by Gehur
purtoppo non riesco a farcela per mercoledi, sono obbligato a fare la versione con la data

in teoria uno mette sempre date maggiori delle precedenti, però magari il controllo lo faccio ugualmente

per i gruppi allora devo controllare che nick e nick2 siano amici e basta, oppure controllare che siano amici anche con i menbri del gruppo che scandisco?


anche che siano amici con i membri del gruppo che devo scandire.

Gehur
a ok, grazie tante

xSharKMaNx
OT: Visto che si discute del Progetto del Corso Serale vi invito a leggere tale 3D

http://www.dsy.it/forum/showthread....&threadid=37699

Ciao e Grazie!

hyperion
Originally posted by xSharKMaNx
Grande iuz-lab ... è esattamente ciò che ho fatto ;)
ma la fgets si potrà utilizzare ?

ieri sera leggendo tutti i i punti del progetto ho notato:


dopo aver "tokenizzato" la stringa in input come posso usare uno switch?voglio dire il token è un puntatore a char mentre nello switch vuole un char o al massimo un intero....voglio fare un confronto sul secondo token per determinare l'operazione di conseguenza.....
mi viene in mente una strcmp da fare ogni volta ma è moooolto brutta come soluzione..

iuz-lab
per usare switch con i token puoi fare una cosa del genere..
(non guardare i goto :-) e nemmeno le linee DPRINTF :-) )
code:
struct command *parse (char *line, struct command *cmd) { cmd->w0 = cmd->w1 = cmd->w2 = NULL; DPRINTF(DPARSER, "----- get w0"); cmd->w0 = s_strtok(line, BLK); if (cmd->w0 == NULL) { goto ret_inv_cmd; } DPRINTF(DPARSER, "----- get w1"); cmd->w1 = s_strtok(NULL, BLK); if (cmd->w1 == NULL) { goto inv_cmd0; } if (strlen(cmd->w1) != 1) { goto inv_cmd1; } switch (cmd->w1[0]) { case 'p': cmd->action = SYS_LS_USERS; goto sys_cmd; ... ... ...


certo vorrei dire.. ma al 17 febbraio sei ancora alle prese con il parser?!? tra tutti siamo proprio messi bene :-D

iuz-lab
Originally posted by poi_1969
State attenti alle indicazioni di iuz-lab, a volte esce fuori tema.


ma stai bono brodo..

questi forum dovrebbero essere off-limits per gli analfabeti digitali :-D

admin nimda

hyperion
Originally posted by iuz-lab
ma stai bono brodo..

questi forum dovrebbero essere off-limits per gli analfabeti digitali :-D

admin nimda


ho risolto con una strcpy del token....grazie!

Gehur
allora spero sia l'ultima chiarimento per sto grado di separazione
esempio:
profilo------------amici-----------------cammino da a->e
a-------------------b m l d--------------ris:--a->d->c->f->e-----grado 4
b-------------------a m n o d
c-------------------d z f
d-------------------a b c
e--------------------x y z q f
f--------------------c e

è tutto corretto??

Bloom
Originally posted by Gehur
allora spero sia l'ultima chiarimento per sto grado di separazione
esempio:
profilo------------amici-----------------cammino da a->e
a-------------------b m l d--------------ris:--a->d->c->f->e-----grado 4
b-------------------a m n o d
c-------------------d z f
d-------------------a b c
e--------------------x y z q f
f--------------------c e

è tutto corretto??


Sembrerebbe di si
Ma non sono sicura

Joy88
Ieri sono andata dal prof.. risultato: devo rifarlo praticamente da capo..
voi avete usato alberi binari o alberi qualsiasi??? x' ho visto che in quasi tutti i progetti usano alberi rb....

Bloom
Come lo avevi fatto?Io ho utilizzato tutti rb e una lista di adiacenza

hyperion
Originally posted by Joy88
Ieri sono andata dal prof.. risultato: devo rifarlo praticamente da capo..
voi avete usato alberi binari o alberi qualsiasi??? x' ho visto che in quasi tutti i progetti usano alberi rb....


rifarlo??!e perchè mai....?

Gehur
ok bloom, mi fido:D

Joy88 ti ha detto che devi rifarlo tutto!!! come mai?

Joy88
io tutto con le liste..
mi è stato risp che non è efficiente..
Anche se non mi sembrava fosse richiesto quello + efficiente..
La risp è stata: "..non è un esame di programmazione, ma di algoritmi."
-_-"

Bloom
Originally posted by Joy88
io tutto con le liste..
mi è stato risp che non è efficiente..
Anche se non mi sembrava fosse richiesto quello + efficiente..
La risp è stata: "..non è un esame di programmazione, ma di algoritmi."
-_-"


Cavolo mi dispiace!!!!

Joy88
Quindi adesso ci penso 50 volte prima di prendere la decisione sulla struttura da utilizzare..!!!
L'unica cosa è che ho buttato via 2 settimane di lavoro x niente..

hyperion
Originally posted by Bloom
Cavolo mi dispiace!!!!


anche a me!capisco la fatica e l'impegno che uno ci mette per realizzare un progetto del genere!!e vabbè che è un esame di algoritmi ma allora almeno l'avrei fatto fare in java cosi risparmi il 90% dei problemi sulla realizzazione...derivati dalla gestione della memoria puntatori ecc ecc.!!almeno ci si concentra sulla parte implementativa degli algo studiati anzichè perdere troppo tempo su C in sè!

Bloom
Originally posted by Joy88
Quindi adesso ci penso 50 volte prima di prendere la decisione sulla struttura da utilizzare..!!!
L'unica cosa è che ho buttato via 2 settimane di lavoro x niente..

No dai non dire così....ora sei una maga delle liste!Una specie di Guru

Gehur
aaaaaaaa, be si, in effetti un'implementaizone solo con le liste non è adeguata, però ti poteva far passare col minimo..

be potresti provare a lavorare con tabelle hash, in fondo sono array di liste (più o meno), se se in gamba dovresti riuscire ad aggiustarlo in 1 giorno

Bloom
Ma chi ti ha risposto cosi?

Joy88
Vi dirò.. la prima cosa a cui avevano pensato i prof erano alberi.. x' me l'hanno detto esplicitamente (anche se, ovviamente la tabelle hash non sono da deprecare!)..
In ogni caso consegnerò + tardi ma farò 'sti xxxxx di alberi!!!

darkman13
Ma i dati nella struttura sono dei dati di defult che, o cmq, che bisogna inserire a manina ì, o cosa? Cioè come faccio a capire che tutto funziona se non ho dati nella struttura?
Es: nick, gruppi, ecc...

Joy88
Bloom.. + o - entrambi.. dato che ho parlato sia con goldwurm che con quella del lab..

poi_1969
Come state con la consegna?
ricordate se fate alberi red-black il voto parte da 25 in su.
altrimenti si assteza intorno 24-25 per le liste concatenate.

iuz-lab, for dummies

Bloom
Originally posted by darkman13
Ma i dati nella struttura sono dei dati di defult che, o cmq, che bisogna inserire a manina ì, o cosa? Cioè come faccio a capire che tutto funziona se non ho dati nella struttura?
Es: nick, gruppi, ecc...


C'è l'esempio di input e l'output correlato..
Devi gestire tu i comandi di input

Bloom
Originally posted by poi_1969
Come state con la consegna?
ricordate se fate alberi red-black il voto parte da 25 in su.
altrimenti si assteza intorno 24-25 per le liste concatenate.

iuz-lab, for dummies

Mica è vero.....conosco casi che avevano usato rb ma che hanno preso meno di 25.

Gehur
be ti ho consigliato l'hash perchè in teoria non devi ripartire da zero, con gli alberi devi fare praticamente tutto, devi riscrivere tutto

sto progetto è davvero snervante, io infatti ho deciso di non impazzire e fare quello con la data in aggiunta..buona fortuna!!

hyperion
Originally posted by Gehur
be ti ho consigliato l'hash perchè in teoria non devi ripartire da zero, con gli alberi devi fare praticamente tutto, devi riscrivere tutto

sto progetto è davvero snervante, io infatti ho deciso di non impazzire e fare quello con la data in aggiunta..buona fortuna!!


è snervante perchè mentre pensi al problema qualche puntatore ti salta....se invece potessi pensare di più al problema e meno alla gestione della memoria e affini sarebbe fattibile in 5 giorni intensi!mi manca java..

Bloom
Originally posted by Gehur
be ti ho consigliato l'hash perchè in teoria non devi ripartire da zero, con gli alberi devi fare praticamente tutto, devi riscrivere tutto

sto progetto è davvero snervante, io infatti ho deciso di non impazzire e fare quello con la data in aggiunta..buona fortuna!!


Se però utilizza gli rb tutto il codice lo puoi trovare su algoteam e riadattarlo facilmente....E poi anche per il calcolo del cammino minimo trovi piu materiale con grafi e alberi(un po' meno) rispetto che alle tabelle hash.

Bloom
Originally posted by Bloom
Se però utilizza gli rb tutto il codice lo puoi trovare su algoteam e riadattarlo facilmente....E poi anche per il calcolo del cammino minimo trovi piu materiale con grafi e alberi(un po' meno) rispetto che alle tabelle hash nel caso tu dovessi avere problemi.

Bloom
Originally posted by Bloom


Che scema riscritto 2 volte :D

Gehur
infatti io sto pensando come cavolo fare sto calcolo cammino minimo :D anzi adesso vedo cosa trovo su algoteam

io java non me lo ricordo più :(

con sti putantori sono impazzito un bel po di volte(e non è ancora finita)..

darkman13
BLOOM; scusa ma non ho capito, puoi spiegarti meglio per favore?

hyperion
Originally posted by Bloom
Se però utilizza gli rb tutto il codice lo puoi trovare su algoteam e riadattarlo facilmente....E poi anche per il calcolo del cammino minimo trovi piu materiale con grafi e alberi(un po' meno) rispetto che alle tabelle hash.


ci sono anche le tabelle hash su algoteam

Bloom
Secondo me è piu facile utilizzare n RB che hash table...il cammino minimo risulta piu naturale pensarlo su un grafo/albero....già il progetto è abbastanza complicato.
E' come se ti spiegassero qualcosa in linguaggio matematico.Ad esempio guarda il grado di separazione . non è piu naturale dire :calcola il cammino minimo tra p e q controllando che sia rispettata sempre la proprietà di amicizia.
Poi certo si possono utilizzare le tabelle hash(Vanno bene comunque anzi...).
Ma poi se i prof hanno fatto capire che bisogna utilizzare gli alberi vuol dire che è questa la soluzione che si aspettano....e comunque se le hanno suggerito gli rb vuol dire che è anche la soluzione piu semplice per soddisfare le richieste del progetto.
Poi nessuno toglie che le hash comunque rimangono una buona alternativa
Almeno questo è il mio parere.
:-)

Bloom
Originally posted by hyperion
ci sono anche le tabelle hash su algoteam

E' vero,ma io personalmente non ho mai collaudato quella parte di codice.Invece il resto...

hyperion
Originally posted by Bloom
Secondo me è piu facile utilizzare n RB che hash table...il cammino minimo risulta piu naturale pensarlo su un grafo/albero....già il progetto è abbastanza complicato.
E' come se ti spiegassero qualcosa in linguaggio matematico.Ad esempio guarda il grado di separazione . non è piu naturale dire :calcola il cammino minimo tra p e q controllando che sia rispettata sempre la proprietà di amicizia.
Poi certo si possono utilizzare le tabelle hash(Vanno bene comunque anzi...).
Ma poi se i prof hanno fatto capire che bisogna utilizzare gli alberi vuol dire che è questa la soluzione che si aspettano....e comunque se le hanno suggerito gli rb vuol dire che è anche la soluzione piu semplice per soddisfare le richieste del progetto.
Poi nessuno toglie che le hash comunque rimangono una buona alternativa
Almeno questo è il mio parere.
:-)


ma sinceramente non saprei neanche da dove partire per utilizzare le hash table!anche perchè a lezione non ce le hanno mostrate!gli Rb e liste ,o Rb e affini sono le uniche soluzioni secondo me....poi vabbè non ho detto che sono le migliori!

xSharKMaNx
a mio parere... determinati progetti hanno bisogno di più tempo, specie quando gli studenti non hanno mai visto il linguaggio C, e in più c'è il bisogno che sia teoria sia pratica venga spiegata in maniera decente!

hyperion
Originally posted by xSharKMaNx
a mio parere... determinati progetti hanno bisogno di più tempo, specie quando gli studenti non hanno mai visto il linguaggio C, e in più c'è il bisogno che sia teoria sia pratica venga spiegata in maniera decente!


quoto..ma guarda si può risolvere con il minimo sforzo : basta che il primo anno si faccia C anzichè Java!java non rappresenta le basi della programmazione!C invece si...poi da C a Java si fa sempre in tempo a passare...

Joy88
Sono d'accordo con Bloom, con Hyperion e con xSharkManx!!!
In ogni caso continuo a ribadire che il nostro corso di laurea non ha un filo logico..
x' non utilizzare e imparare un solo linguaggio moderno e cmq utile come java, che ci potrà servire anche in futuro? Ne impariamo uno e bene! Non 50 e da cani..
Mah... Poi il tempo è poco devi xder la testa su dei costrutti illogici che danno particolari problemi in certe condizioni (parlo del tipo immaginario string..)..
cose allucinanti.. quando poi a lezione questo scrive in pseudocodice.. voglio vederti poi a implementarlo..
Son capaci tutti di scrivere "creo un albero".. scriverlo, in C, è tutto un altro paio di maniche..
Alla fine sulle dispense non ci sono gli esempi nè niente.. non è così facile fare tutto da sola quando cmq non hai esempi spiegati correttamente.. grazie al cielo c'è algoteam...!!!!

Beh, scusate il mio sfogo.. :D

Bloom
A difesa dei professori però dico che secondo me sono ben consapevoli che il tempo a disposizioni non è suff altrimenti non avrebbero messo su un sito come Algoteam.
Io ho seguito il serale che ha la metà delle ore di laboratorio che si hanno al diurno.
Comunque un professore non può insegnarti a programmare,le capacità ti vengono con l' esperienza.Loro ti possono solo dire quali sono le soluzioni da adottare ai problemi più comuni.
Ad esempio per la gestione dei puntatori quante volte ci hanno detto di fare la malloc?Io tante.
Quindi piuttosto che discutere se è meglio fare java e togliere c o viceversa forse sarebbe meglio togliere dei corsi che così come sono fatti non servono a molto e averne qualcuno in più che ti aiuta ad formare una "mente" da programmatore.Ad esempio potrebbe essere utile fare vedere come si prende in mano un progetto e insieme fare l'analisi del problema,la fattibiltà il tipo di linguaggio utilizzare etc...

E' sempre un mio parere naturalmente

hyperion
Originally posted by Bloom
A difesa dei professori però dico che secondo me sono ben consapevoli che il tempo a disposizioni non è suff altrimenti non avrebbero messo su un sito come Algoteam.
Io ho seguito il serale che ha la metà delle ore di laboratorio che si hanno al diurno.
Comunque un professore non può insegnarti a programmare,le capacità ti vengono con l' esperienza.Loro ti possono solo dire quali sono le soluzioni da adottare ai problemi più comuni.
Ad esempio per la gestione dei puntatori quante volte ci hanno detto di fare la malloc?Io tante.
Quindi piuttosto che discutere se è meglio fare java e togliere c o viceversa forse sarebbe meglio togliere dei corsi che così come sono fatti non servono a molto e averne qualcuno in più che ti aiuta ad formare una "mente" da programmatore.Ad esempio potrebbe essere utile fare vedere come si prende in mano un progetto e insieme fare l'analisi del problema,la fattibiltà il tipo di linguaggio utilizzare etc...

E' sempre un mio parere naturalmente



beh guarda che un corso di algoritmi non è poi cosi inutile!!credo vada a braccetto con ing del software...cmq dovrebbero essere i pilastri per noi che magari in un futuro diventeremo programmatori e magari ci metteremo in proprio a firmare progetti...possiamo discutere su un altro aspetto al limite che ,e qui quoto joy, un corso di laurea dovrebbe seguire una logica....ora.che logica vedete se al primo anno ci fanno fare java (e alcuni come me non hanno neanche fatto un progetto perchè facoltativo) e fare al secondo anno un esame come quello di algo usando C ??!



e concludo dicendo che una volta finito sto progetto mi cancellerò da facebook...ne ho la nausea!

Bloom
Io non ho mai detto che algoritmi che è inutilie...mi riferivo ad altri corsi.

hyperion
Originally posted by Bloom
Io non ho mai detto che algoritmi che è inutilie...mi riferivo ad altri corsi.


tipo?

Bloom
secondo me per come è fatta economia e gestione delle aziende.
A me non è rimasto nulla....non ho trovato applicazione fino ad ora

hyperion
Originally posted by Bloom
secondo me per come è fatta economia e gestione delle aziende.
A me non è rimasto nulla....non ho trovato applicazione fino ad ora



metti che diventerai un'imprenditrice come Berlusconi!! :razz:
che ne sai!!

Bloom
Ahah..mi basterebbero la metà dei suoi soldi ;-D
Non ho cmq detto che economia è inutile :-D è come è fatta che non serve a molto....Ad esempio c'è un esame del bienno di economia che è bello anche se non mi ricordo bene come si chiama

hyperion
Originally posted by Bloom
Ahah..mi basterebbero la metà dei suoi soldi ;-D
Non ho cmq detto che economia è inutile :-D è come è fatta che non serve a molto....Ad esempio c'è un esame del bienno di economia che è bello anche se non mi ricordo bene come si chiama


economia e gestione delle imprese...diciamo che ti da le basi per aprire un'azienda in futuro..!non è poi cosi male dai...facciamo cosi...io batto cassa e te metti il capitale..ok?;)

Bloom
Non ne sono così sicura.......per l'esame di economia del bienno ti posso dare ragione.Non è possibile fare il contrario?Io sono a corto di capitale al momento :-D

xSharKMaNx
Credo che tutti gli esami del CdL di Informatica servano sia come esperienza professionale, sia come cultura generale.

Sono d'accordo quando si parla che sarebbe stato più utile invertire C e Java.

Bloom, hai detto : "Comunque un professore non può insegnarti a programmare,le capacità ti vengono con l' esperienza.Loro ti possono solo dire quali sono le soluzioni da adottare ai problemi più comuni."

Non sono d'accordo con questo commento; qualsiasi persona che è appassionato di programmazione riuscirebbe a programmare in qualsiasi linguaggio, basterebbe un manuale e tanta pazienza.

Avere un docente, che in quel momento per te è una guida, ma soprattutto una base dovrebbe essere un vantaggio per tutti coloro che seguono le lezioni.

Ricordo ancora lo scorso anno con Pighizzini, uscivo alle 21:30 soddisfatto di ciò che era stato fatto durante la lezione, ma soprattutto capivi e ti rimaneva in testa, non potrò mai dimenticare le spiegazioni sulla lavagna a 3 facciate.

Spiegare il C è un pò più complicato, in C se uno non capisce bene i puntatori diciamo che sei un attimo fregato!

Mi sarebbe piaciuto avere un Corso di Algoritmi più strutturato e con qualche esempio di codice alla lavagna per far capire come funzionano determinate cose; invece si è seguito un corso molto formato "dettato" e mi è dispiaciuto in quanto credo sia davvero un fantastico corso e soprattutto l'argomento è molto interessante!

Bloom
Cosa significa spiegare C ?
Secondo me di c ti possono spiegare le strutture,la grammatica,dare soluzioni comuni a problemi comuni non di certo insegnarti a programmare in c.Secondo me sono diverse

xSharKMaNx
Originally posted by Bloom
Cosa significa spiegare C ?
Secondo me di c ti possono spiegare le strutture,la grammatica,dare soluzioni comuni a problemi comuni non di certo insegnarti a programmare in c.Secondo me sono diverse


No siamo su due opinioni diverse!

Certo che devono insegnarmi a programmare in C altrimenti cosa seguo il Corso di Algoritmi senza che io sappia programmare in C.

Basti vedere la difficoltà che si ha con il progetto FacciaLibro o con altri progetti...le cose sono due... o sai già programmare in C oppure ti devi armare di santa pazienza e cercare di capire come si programma in C tramite slide e/o manuali.

Domanda... questa è la prima volta che segui algoritmi? Il progetto sei riuscita a farlo?

gluca
Malgrado tutto il mio faccia di libro e solo un loop di faccette..... colorate qualche anima buona puo' postare il suo codice appena possibile.

ancora una volta sconsolato........... ringrazio

Bloom
Il progetto l'ho finito ed è la prima volta che seguivo algoritmi.....
Se ti possono insegnare c di certo non posso insegnarti a pensare in C.
Sono due cose diverse.
Te lo dice una persona che in vita sua non ha mai fatto programmazione e che è arrivata daall'università e non sapeva neanche che cosa fosse un linguaggio di programmazione.

Bloom
Si èuò postare solo dopo marzo

hyperion
Originally posted by Bloom
Il progetto l'ho finito ed è la prima volta che seguivo algoritmi.....
Se ti possono insegnare c di certo non possono insegnarti a pensare in C.
Sono due cose diverse.
Te lo dice una persona che in vita sua non ha mai fatto programmazione e che è arrivata daall'università e non sapeva neanche che cosa fosse un linguaggio di programmazione.
non possono insegnarti a pensare in C. vero!aggiungerei...non è che nn possono è che tutto il cdl e quindi i corsi andrebbero programmati (tanto per rimanere in testa) cum granum salis!...

Benny
come qualcuno avrà già detto, secondo me, il corso triennale è poco formativo e si disperde molto..se uno vuole lavorare con il c, servono i vecchi linguaggi di quel tipo, se uno vuole programmare in java o dot net, se uno vuole puntare sul web, servono j2ee,framework, php,javascript e altro..ma se a uno non frega una mazza di programmazione e vuole fare il sistemista, non basta so, serve di più perchè solo quello non da assolutamente nulla, se uno vuole fare grafica direi che se non si trova qualcosa di complementare, ti saluta subito la preparazione, se uno punta alla leadership in progetti o aziendale, non basta economia e ingegneria...all'inizio mi sentivo meglio che dopo il diploma, ma facendo numerosi colloqui di lavoro, se mi chiedono la preparazione, ciò che ho fatto in uni, da un tecnico è vento spostato per niente dalle proprie parole...quello che mi ha dato fastidio è sentire, joy mi pare, che è stata trattata malissimo dai prof, e mi ricorda come sono stato trattato a mobile computing(ridato 3 volte perchè non era come lo voleva lui..ammetto che faceva un po cagare, ma ci ho passato dei mesi su) i professori, non dovrebbero rendere oltremodo complesso un progetto se si vuole implementare a dovere una soluzione algoritmica, si ok ti faccio i btree(che non ci sono in algoteam) ma non pretendiamo troppo nel "contorno", perchè da 3 settimane me ne dovresti il doppio, e soprattutto, se si vuole l'ottimizzazione, il semplice c non basta, ci vogliono degli accorgimenti di timing, dei package di controllo dell'uso di mem, dei dati dangling, e sicuramente altro, allora si che faccio dell'efficienza il corretto principio...non mi hanno fatto vedere cose così a lezione, e a lab, eseguire dei test che sembravano un progetto in neanche un paio d'ore, con nessun tempo a casa, perchè seguire statistica e algoritmi con la teoria, non lo trovavo il tempo..non si può pretendere troppo..detto tutto questo, in bocca al lupo, e spero di trovare lavoro :?

Joy88
Benny in bocca al lupo!

Ho una domanda: adesso mi sono fissata di farlo con gli alberi rb.. e vorrei un parere.. se metto tutti i profili in un albero (ordinati lessicograficamente) poi con le relazioni di amicizia devo fare un altro albero (o una lista -_-') ?!
x' se li collego nello stesso albero non si ha + un albero binario..giusto?!
Io ho pensato di fare un altro albero delle amicizie.. in cui i figli di A sono tutti i gli amici di A e i figli degli amici sono gli amici degli amici..
xò non è un albero RB.. non sarà affatto binario!!!
Bloom tu che hai già finito.. dai qualche dritta a questa povera sconsolata.... :D

hyperion
Originally posted by Joy88
Benny in bocca al lupo!

Ho una domanda: adesso mi sono fissata di farlo con gli alberi rb.. e vorrei un parere.. se metto tutti i profili in un albero (ordinati lessicograficamente) poi con le relazioni di amicizia devo fare un altro albero (o una lista -_-') ?!
x' se li collego nello stesso albero non si ha + un albero binario..giusto?!
Io ho pensato di fare un altro albero delle amicizie.. in cui i figli di A sono tutti i gli amici di A e i figli degli amici sono gli amici degli amici..
xò non è un albero RB.. non sarà affatto binario!!!
Bloom tu che hai già finito.. dai qualche dritta a questa povera sconsolata.... :D


puoi fare un albero Rb come struttura portante e le relazioni di amicizia rappresentarle per ogni nodo con un altro Rb per esempio...

Joy88
..facendo così xò come faccio poi il grado di separazione??!
Mah.. adesso provo a cimentarmi..

hyperion
Originally posted by Joy88
..facendo così xò come faccio poi il grado di separazione??!
Mah.. adesso provo a cimentarmi..


per come l ho pensato io fai visita ricorsiva nel sottoalbero degli amici e cosi via...

Bloom
Originally posted by Joy88
..facendo così xò come faccio poi il grado di separazione??!
Mah.. adesso provo a cimentarmi..


Stai utilizzando un rb con liste di adiacenza?
Se si tratti rb come un normalissimo grafo.....anzi anche meglio perchè non ci sono cicli.Senza visita ricorsiva

Benny
crepi il lupo joy88, grazie!

Gehur
come procede col progetto ragazzi?? io sono ancora dietro a sto cammino minimo, cavolo ho dato un occhiata su algoteam all'algoritmo di dijkstra..cavolo, ma devo implementare tutta quella roba???

Shaper
Io l'ho iniziato da poco, ma credo di essermi fatto un'idea abbastanza precisa di come implementarlo.
Pensavo di usare vari alberi rb: per esempio, uno per contenere tutti gli utenti e uno come membro di ogni nodo utente, per rappresentare le amicizie. (come penso molti avranno fatto)
Il problema è che sono due alberi con nodi diversi e quindi devo scrivere le funzioni per gestirli due volte (rb_search_utente e rb_search_amicizie, per esempio)..
Secondo voi si incasina troppo il codice e mi faranno storie o mi sto facendo paranoie per niente?
Il fatto è che non vedo altre soluzioni, se fossimo in un linguaggio a oggetti magari si potrebbe risolvere con l'ereditarietà o i tipi generici, ma... vabbè se ne è già parlato :twisted:

hyperion
Originally posted by Shaper
Io l'ho iniziato da poco, ma credo di essermi fatto un'idea abbastanza precisa di come implementarlo.
Pensavo di usare vari alberi rb: per esempio, uno per contenere tutti gli utenti e uno come membro di ogni nodo utente, per rappresentare le amicizie. (come penso molti avranno fatto)
Il problema è che sono due alberi con nodi diversi e quindi devo scrivere le funzioni per gestirli due volte (rb_search_utente e rb_search_amicizie, per esempio)..


potresti ovviare al creare 2 alberi differenti vedendo un albero delle amicizie come avente radice nel nodo dell'albero generale...quindi fai un sottoalbero delle amicizie e le funzioni di ricerca rimangono le stesse cambiando solamente la radice...
poi nn so come tu voglia gestire i gruppi..


Secondo voi si incasina troppo il codice e mi faranno storie o mi sto facendo paranoie per niente?
Il fatto è che non vedo altre soluzioni, se fossimo in un linguaggio a oggetti magari si potrebbe risolvere con l'ereditarietà o i tipi generici, ma... vabbè se ne è già parlato :twisted: [/B]


sul modo di rappresentare le amicizie io credo ci sia poco da disquisire....alla fine se non usi tabelle hash hai poche altre alternative per rappresentarle...

Shaper
Originally posted by hyperion
potresti ovviare al creare 2 alberi differenti vedendo un albero delle amicizie come avente radice nel nodo dell'albero generale...quindi fai un sottoalbero delle amicizie e le funzioni di ricerca rimangono le stesse cambiando solamente la radice...
poi nn so come tu voglia gestire i gruppi..


In pratica potrei creare un unico nodo con tutti i membri che mi servono per gestire utenti gruppi e amicizie... In questo caso dovrei però incasinare notevolmente le funzioni, per fargli capire che stanno maneggiando un utente o un amicizia..
Devo vedere se mi conviene, dato che comunque il tempo di esecuzione e l'efficenza sarebbero gli stessi credo, si tratterebbe solo di rendere meno ridondante il codice..
Grazie del consiglio comunque! :-D

Pensavo di fare un unico nodo sia per gli utenti che per i gruppi, con un membro tipo a identificarli. Alla fine un gruppo si comporta come un utente e i membri del gruppo possono essere visti come un albero di amicizie..
Mi sembra che anche qualcun altro qui abbia proposto una soluzione simile qualche post fa..

Ah, ma voi date in pasto al prof un unico file.c o pensate che gradirebbe anche un file di intestazione?

hyperion
Originally posted by Shaper
In pratica potrei creare un unico nodo con tutti i membri che mi servono per gestire utenti gruppi e amicizie... In questo caso dovrei però incasinare notevolmente le funzioni, per fargli capire che stanno maneggiando un utente o un amicizia..
Devo vedere se mi conviene, dato che comunque il tempo di esecuzione e l'efficenza sarebbero gli stessi credo, si tratterebbe solo di rendere meno ridondante il codice..
Grazie del consiglio comunque! :-D

Pensavo di fare un unico nodo sia per gli utenti che per i gruppi, con un membro tipo a identificarli. Alla fine un gruppo si comporta come un utente e i membri del gruppo possono essere visti come un albero di amicizie..
Mi sembra che anche qualcun altro qui abbia proposto una soluzione simile qualche post fa..

Ah, ma voi date in pasto al prof un unico file.c o pensate che gradirebbe anche un file di intestazione?



Se tratti un gruppo come un nodo devi stare attento a distinguerlo nelle visite!Cmq a parte questo non è un problema!
No,non ci sono indicazioni sul numero di file da eseguire ecc ecc...credo che alla fine importi poco dato che è un esame di algoritmi e non di programmazione in senso stretto....certo cmq se lo fai su più file lo rendi più ordinato...fate vobis! (fate o facite??)

Gehur
be guarda io uso gli alberi per implementare i gruppi e i membri del gruppo, ed uso la stessa struttura; nei gruppi ci sarà una stringa per il titolo, nei membri la stessa stringa sarà usata per il nome..in ogni nodo del gruppo ci sarà un puntatore ad un albero membri

invece uso tabelle hash per profili e amici, liste per richieste e gruppi associati ad ogni profilo

a questo prorposito devo capire bene come usare dijkstra con la tabella hash amici (che poi sono come liste concatenate--->grafi)

Joy88
...credo che alla fine importi poco dato che è un esame di algoritmi e non di programmazione in senso stretto....

Hyperion mi sento chiamata in causa.. :D
Cmq.. com'è andato il tuo???

hyperion
Originally posted by Joy88
...credo che alla fine importi poco dato che è un esame di algoritmi e non di programmazione in senso stretto....

Hyperion mi sento chiamata in causa.. :D
Cmq.. com'è andato il tuo???


devo fare la relazione...tu a che punto sei?

Johnny88
Ciao ragazzi, ho appena superato l'appello di febbraio e adesso sto incominciando a pensare al progetto...
Mi pare di capire che molti di voi lo stiano facendo con gli alberi BR?

Io stavo pensado ad un grafo fatto a liste di adiacenza con inserimento ordinato...

Joy88
Hyperion.. a un punto morto!!!
Segmentation fault!! Ti dico solo questo!!!
..è che non ho ancora ben chiaro come strutturare il progetto con gli alberi!!!!
mah..

hyperion
Originally posted by Joy88
Hyperion.. a un punto morto!!!
Segmentation fault!! Ti dico solo questo!!!
..è che non ho ancora ben chiaro come strutturare il progetto con gli alberi!!!!
mah..


mmm...in che punto ti da questo errore?

Joy88
quando voglio inserire il profilo, inserisco con la funzione inserisci.
e fin lì tutto ok..
Controllo poi se il profilo esiste.
Se esiste devo modificare lo stato e io faccio:
prof = ricerca (albero, nome);
if (prof!= NULL)
{
prof->stato= stato;
}
..è giusto che modifico lo stato in questo modo?? mmm.. è qui che va in errore...

hyperion
Originally posted by Joy88
quando voglio inserire il profilo, inserisco con la funzione inserisci.
e fin lì tutto ok..
Controllo poi se il profilo esiste.
Se esiste devo modificare lo stato e io faccio:
prof = ricerca (albero, nome);
if (prof!= NULL)
{
prof->stato= stato;
}
..è giusto che modifico lo stato in questo modo?? mmm.. è qui che va in errore...



non è lecita quella scrittura...devi usare strcpy...cosi puoi assegnare al campo stato il tuo stato argomento delle funzione.....

Joy88
Ahahahah!!!
Pensare che ci ho perso tutto ieri pomeriggio!!!!
Incredibile.. mi ribello anch'io al C!

Shaper
Originally posted by Joy88
quando voglio inserire il profilo, inserisco con la funzione inserisci.
e fin lì tutto ok..
Controllo poi se il profilo esiste.
Se esiste devo modificare lo stato e io faccio:
prof = ricerca (albero, nome);
if (prof!= NULL)
{
prof->stato= stato;
}
..è giusto che modifico lo stato in questo modo?? mmm.. è qui che va in errore...


Non saprei, io ho fatto più o meno così e funziona..
Domanda stupida: prof è un puntatore a un nodo, vero? Perchè le prime volte che ho smanettato con gli alberi l'ho dichiarato così rbnode prof;
invece che così rbnode *prof;

hyperion
Originally posted by Shaper
Non saprei, io ho fatto più o meno così e funziona..
Domanda stupida: prof è un puntatore a un nodo, vero? Perchè le prime volte che ho smanettato con gli alberi l'ho dichiarato così rbnode prof;
invece che così rbnode *prof;


no prof è un puntatore o a Goldewerwerwrum o a Torelli...
XD XD

Joy88
Hyperion grazie....!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Sono riuscita a fare il comando n!!!!!!!!
..e anche il system p e soprattutto il difficilissimo system q (è stato il primo!!)!!!!
Evvai!!!! mi stampa addirittura a forma di alberello!!!!!!!
WoW!!!
Shaper.. ho scoperto la tua identità!!!!!!
ahahaahahaah (risata da interpretare in modo satanico)!!!!!

hyperion
Originally posted by Joy88
Hyperion grazie....!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Sono riuscita a fare il comando n!!!!!!!!
..e anche il system p e soprattutto il difficilissimo system q (è stato il primo!!)!!!!
Evvai!!!! mi stampa addirittura a forma di alberello!!!!!!!
WoW!!!
Shaper.. ho scoperto la tua identità!!!!!!
ahahaahahaah (risata da interpretare in modo satanico)!!!!!


figurati...
shaper?!potrebbe essere un ILLUSIONE come il suo avatar..attenzione!

Shaper
Mi sa che ho cambiato idea per quanto riguarda i gruppi, non so se è una buona idea fare un unico albero per profili e gruppi.
Se ci fossero 4 gruppi e 100 profili e dovessi cercare un gruppo sprecherei un sacco di tempo a visitare nodi che so per certo non sono gruppi..
Forse è meglio fare un albero a parte per i gruppi, anche se così il tutto diventa meno compatto..
Ha senso come ragionamento?
E' che la brutta esperienza di Joy rispetto all'efficenza mi sta spaventando non poco! (scusa se ti uso come spauracchio :D )

hyperion
Originally posted by Shaper
Mi sa che ho cambiato idea per quanto riguarda i gruppi, non so se è una buona idea fare un unico albero per profili e gruppi.
Se ci fossero 4 gruppi e 100 profili e dovessi cercare un gruppo sprecherei un sacco di tempo a visitare nodi che so per certo non sono gruppi..
Forse è meglio fare un albero a parte per i gruppi, anche se così il tutto diventa meno compatto..
Ha senso come ragionamento?
E' che la brutta esperienza di Joy rispetto all'efficenza mi sta spaventando non poco! (scusa se ti uso come spauracchio :D )


si come ragionamento è giusto!io personalmente ho utilizzato uno unico anche perchè le ricerche negli Rb le si fanno in tempo logaritmico...il rovescio della medaglia è che utilizza più spazio..quindi o la botte piena o la moglie ubriaca....oppure come dico sempre io,compri due botti piene e con una ci fai ubriacare tua moglie,e l'altra ti rimane piena!:-D

Shaper
Originally posted by hyperion
si come ragionamento è giusto!io personalmente ho utilizzato uno unico anche perchè le ricerche negli Rb le si fanno in tempo logaritmico...il rovescio della medaglia è che utilizza più spazio..quindi o la botte piena o la moglie ubriaca....oppure come dico sempre io,compri due botti piene e con una ci fai ubriacare tua moglie,e l'altra ti rimane piena!:-D


Sì al probema dello spazio ci avevo pensato, ma alla fine il numero di nodi complessivo è uguale, sia che tu li metta tutti in un albero, sia che tu li metta in 2 separati. Quindi in linea teorica lo spazio occupato non dovrebbe cambiare di molto...
Alla fine l'importante è dare alla moglie il tavernello! :-D (e direi di chiudere qui l'OT etilico!)

hyperion
Originally posted by Shaper
Sì al probema dello spazio ci avevo pensato, ma alla fine il numero di nodi complessivo è uguale, sia che tu li metta tutti in un albero, sia che tu li metta in 2 separati. Quindi in linea teorica lo spazio occupato non dovrebbe cambiare di molto...
Alla fine l'importante è dare alla moglie il tavernello! :-D (e direi di chiudere qui l'OT etilico!)



si in effetti...però ti viene più complicato da gestire...amento di puntatori ecc ecc...
si la moglie si ubriaca meglio con l tavernello del vicino chiuso Ot

BeppeGoal
Scusate, ma nella funzione in cui un nick si cancella da un gruppo, se il gruppo rimane vuoto va eliminato o continua ad esistere?

hyperion
Originally posted by BeppeGoal
Scusate, ma nella funzione in cui un nick si cancella da un gruppo, se il gruppo rimane vuoto va eliminato o continua ad esistere?


no no....Nick si cancella dal gruppo!non elimini il gruppo anche se rimane vuoto!Almeno questo è quello che emerge dal testo lui non chiede di effettuare un ulteriore controllo sul gruppo e se rimane vuoto di cancellarlo!

Joy88
Un problema:
io x ogni profilo voglio crearmi un albero delle amicizie di quel profilo..
ebbene, l'albero lo creo. Ma poi, come faccio a cercare tra gli alberi creati quelli in cui la radice è "Pietro" piuttosto che "Carlo"???

Bloom
Non ho capito la tua domanda...hai una struttura per la gestione dei profili e poi ogni nodo del profilo ha un albero rb locale con le amicizie del profilo?

Shaper
Originally posted by Joy88
Un problema:
io x ogni profilo voglio crearmi un albero delle amicizie di quel profilo..
ebbene, l'albero lo creo. Ma poi, come faccio a cercare tra gli alberi creati quelli in cui la radice è "Pietro" piuttosto che "Carlo"???


Io inizialmente l'avevo pensato così: metto in un albero rb tutti i profili e ogni nodo/profilo ha come membro un altro albero rb contenente tutti gli amici del profilo. In questo modo per fare quello che chiedi tu mi basterebbe cercare nell'albero dei profili l'utente desiderato e accedere al suo albero delle amicizie.
Però mi sono venuti dei dubbi riguardo all'implementazione del grado di separazione. In questo modo per calcolare il cammino minimo non so bene come fare. Tecnicamente quello che ho descritto è un grafo implementato con liste di adiacenza, dove al posto di un array e relative liste ci sono degli alberi rb...
A questo punto ho li idee un po' confuse su come implementare per esempio dijkstra per il cammino minimo...
:?

Joy88
Ho un albero x i profili..
e x ogni nick voglio fare un albero degli amici di nick (ponendo nick come radice)..
Bloom esattamente quello che hai detto..!!
Però come posso accedere ad un albero con radice pietro +ttosto che uno con radice carlo??

..in alternativa.. dici di fare in un altro modo??

Bloom
Originally posted by Shaper
Io inizialmente l'avevo pensato così: metto in un albero rb tutti i profili e ogni nodo/profilo ha come membro un altro albero rb contenente tutti gli amici del profilo. In questo modo per fare quello che chiedi tu mi basterebbe cercare nell'albero dei profili l'utente desiderato e accedere al suo albero delle amicizie.
Però mi sono venuti dei dubbi riguardo all'implementazione del grado di separazione. In questo modo per calcolare il cammino minimo non so bene come fare. Tecnicamente quello che ho descritto è un grafo implementato con liste di adiacenza, dove al posto di un array e relative liste ci sono degli alberi rb...
A questo punto ho li idee un po' confuse su come implementare per esempio dijkstra per il cammino minimo...
:?


Ma non è più semplice avere un albero rb per i profili e per ogni profilo avere una lista di adiacenza?
Oppure anche accoppiata grafo/liste può andare bene secondo me

Joy88
Sì forse hai ragione..
per ogni profilo faccio una lista di amici..
così la lista rientrerebbe come campo del profilo..
Mi sembra + facile..!!!
Grazie!!
Bloom com'è andato il tuo progetto???

Bloom
Originally posted by Joy88
Ho un albero x i profili..
e x ogni nick voglio fare un albero degli amici di nick (ponendo nick come radice)..
Bloom esattamente quello che hai detto..!!
Però come posso accedere ad un albero con radice pietro +ttosto che uno con radice carlo??

..in alternativa.. dici di fare in un altro modo??



ho capito..allora nella struttura che ti rappreenta il nodo avrai una voce del tipo alberoamicizia che è un puntatore all'albero dei profili di un profilo.
Quindi ad esempio se devi vedere che marco ha un amico di nome mario fai:
m=cercoprofilo(alberoprofili,marco);
se m!=NULL
mario=findprofilo(m->alberoamicizia,mario);

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate