.dsy:it. Pages (3): « 1 [2] 3 »
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 "FACCIALIBRO" (http://www.dsy.it/forum/showthread.php?threadid=37551)


Posted by Gehur on 13-02-2009 09:54:

se non hai warning con -ansi sicuramente vuol dire che è tutto perfetto, comunque -o dovrebbe bastare


Posted by Joy88 on 13-02-2009 11:17:

Niente news sul fronte system ! o system ? ???
Io proprio non mi capacito...

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by Bloom on 13-02-2009 12:37:

non sono altro che il percorso minimo tra 2 nick per system !
per system ? è il percorso minimo tra due nik ,madevi contrllare che tutti i profili che visiti appartengono all stesso gruppo


Posted by Joy88 on 13-02-2009 13:04:

Io ho fatto tutto tramite liste.. quindi dubito che possa risolverlo con il percorso minimo..

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by Bloom on 13-02-2009 13:36:

io ho fatto con un albero rb e lista di adiacenza Ho utilizzato un BFS.
Hai fatto tutto a liste o hai anche un grafo /albero?


Posted by hyperion on 13-02-2009 13:43:

Originally posted by Bloom
io ho fatto con un albero rb e lista di adiacenza Ho utilizzato un BFS.
Hai fatto tutto a liste o hai anche un grafo /albero?


ma guardate che potete benissimo implementare un grafo e le visite di un grafo usando solo alberi e liste...non è che c'è bisogno d'altro...


Posted by Joy88 on 13-02-2009 13:57:

Bloom: solo liste ho usato.. hai qualche suggerimento x me???
:D
Hyperion non ho capito bene...

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by hyperion on 13-02-2009 14:01:

Originally posted by Joy88
Bloom: solo liste ho usato.. hai qualche suggerimento x me???
:D
Hyperion non ho capito bene...


pensa a che cosa in realtà è un grafo....


Posted by Joy88 on 13-02-2009 14:06:

Sì ma aspetta un attimo..
io ho già fatto tutto.. mi mancano solo queste funzioni..
tutto con le liste.. non stravolgo il lavoro di 2 settimane..

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by Bloom on 13-02-2009 14:06:

un grafo......sono dei nodi i vicini dei nodi non sono altro che liste :-)

Io ho un altro problema:non riescoa togliere lo spazio all'inizio di una stringa..sapete com si fa?


Posted by hyperion on 13-02-2009 14:12:

Originally posted by Joy88
Sì ma aspetta un attimo..
io ho già fatto tutto.. mi mancano solo queste funzioni..
tutto con le liste.. non stravolgo il lavoro di 2 settimane..


tutto con le liste?cioè?


Posted by Joy88 on 13-02-2009 14:21:

Tutto fatto utilizzando solo liste!
Liste di profili, di amicizie ecc..
@Bloom.. ho un trucchetto: usa la sequenza di escape \b ti ritorna indietro in un carattere.. in pratica sovrascrivi lo spazio..

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by Bloom on 13-02-2009 14:26:

Originally posted by Joy88
Tutto fatto utilizzando solo liste!
Liste di profili, di amicizie ecc..
@Bloom.. ho un trucchetto: usa la sequenza di escape \b ti ritorna indietro in un carattere.. in pratica sovrascrivi lo spazio..



Cioè ?
Come deve essere utilizzato?
Il profilo è un nodo della lista?E ogni nodo ha una ilista per la gestione delle amicizie?


Posted by Joy88 on 13-02-2009 14:31:

ho una lista profili nel quale il profilo sì è un nodo ma ogni nodo non ha la sua lista amicizie quella è a parte..
se in una print metti \b ti mangia il carattere precedente..
quindi se il tuo è un problema di stampa, come lo era x me, ho risolto mangiandomi lo spazio!!!

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by Bloom on 13-02-2009 14:38:

Non è un problema di stampa, il problema è che la ricerca del gruppo non funziona perche c'è uno spazio.
Devo togiere lo spazio prima di inserire il nome del gruppo nell'albero.
Mi sa che è un po difficile gestire il calvcolo del percorso minimo solo con le liste.
Prova a farti una coda e vedi se riesci a gestirle cosi


Posted by Joy88 on 13-02-2009 14:44:

Ok, se usi il getchar fai un getchar a vuoto che poi sovrascrivi..
tanto x farti un esempio:
nome[0]= getchar();
for (i=0; i < sizeof (...); i++)
nome [i] = getchar();
poi adattalo tu..!!
spero di esserti stata di aiuto!!

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by Bloom on 13-02-2009 15:14:

Ti ringrazio!,ma non sempre memorizza in modo corretto..
Che stress ste stringhe


Posted by Joy88 on 13-02-2009 15:22:

sì è un po' un casino..
ma d'altronde stiamo usando un linguaggio 1972.. Allora il tipo string non era contemplato!!!
:D

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by Bloom on 13-02-2009 15:24:

appunto ci dovremmo evolvere.......


Posted by Joy88 on 13-02-2009 15:28:

Poi voglio vedere quando andremo a lavorare e ci faranno usare, per dire il visual basic, cosa gli racconteremo!!!! Sarà utile sapere che in c non c'è il tipo string??? Mah..
ancora un po' e l'anno prossimo ci troviamo a scrivere il pascal..

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by Bloom on 13-02-2009 16:04:

comunque....sono costretta ad avere diverse funzioni di lettura a seconda del caso....che noia......


Posted by Joy88 on 13-02-2009 16:14:

Sì certo.. e anche di scrittura!!!

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by Gehur on 13-02-2009 19:07:

Originally posted by Bloom
non sono altro che il percorso minimo tra 2 nick per system !
per system ? è il percorso minimo tra due nik ,madevi contrllare che tutti i profili che visiti appartengono all stesso gruppo


bene, posso dire di essere fregato..non avevo mica capito che bisognava cercare il persorso minimo tra 2 nick..infatti mi sembravano funzioni un po inutili :D

in pratica è il percoso minimo tra i loro amici?? cioè anche se nick e nick2 non si conoscono possono avere un grado di separazione minimo se hanno amici in comune?

insomma non solo mi mancano ancora da fare un sacco di funzioni, devo rivedere il tutto per calcolarmi sto cammino minimo..sarà davvero dura


Posted by iuz-lab on 13-02-2009 22:27:

sto' uscendo quindi faccio in anticipo gli auguri..

buon timestamp 1234567890 a tutti :-D


Posted by Benny on 14-02-2009 00:23:

rispondo a bloom per lo spazio bianco, usando strtok come esposto anche da altri puoi tokenizzare con un certo separatore, se torni un po indietro noterai varie spiegazioni che comunque sul libro o su internet trovi subito.
Ora invece rispondo a iuz-lab, purtroppo io non ci capisci un cacchio di che problemi hanno ste maledette funzioni di input, ma scovando un indizio su iprogrammatori e facendo una piccola ricerca
al link:http://forum.html.it/forum/showthread/t-1103656.html
troverete la soluzione definitiva yattaaaa:
praticamente io adesso uso soltanto scanf, come richiesto esplicitamente dal prof, ma per poter buttare dentro tutta una pappardella di roba con spazi usando la
scanf("%[^\n]s",str);
piglia tutto fino al carattere di ritorno a capo.
E adesso, se ce la faccio con tutti sti colloqui di lavoro, e con casini di vario genere spero di riuscire a farcela per il tempo che rimane
shinra tensei iiiiaaaaaaaa

__________________
Se non credi in te stesso, chi ci crederà?


Posted by hyperion on 14-02-2009 17:32:

Originally posted by Joy88
sì è un po' un casino..
ma d'altronde stiamo usando un linguaggio 1972.. Allora il tipo string non era contemplato!!!
:D


mi chiedo che cosa fanno a fare java il primo anno.....


Posted by Gehur on 14-02-2009 17:51:

be io non ci sto più con la testa..per mercoledi non riesco a finirlo..dovrò fare la versione ancora più complicata :D

non capisco che problemi ho con la cancellazione(da stamattina che la sto guardando!), e devo ancora fare il consiglia amici e il grado di separazione, in pratica mi manca tutto..cazzo passano in fretta 3 settimane

la cosa che mi da fastidio comunque è il fatto che il prossimo esame sarà tra quasi 4 mesi!! assieme a matematica e altri, tanto per rendere le cose semplici :D


Posted by iuz-lab on 14-02-2009 21:30:

Originally posted by Benny
Ora invece rispondo a iuz-lab, purtroppo io non ci capisci un cacchio di che problemi hanno ste maledette funzioni di input, ma scovando un indizio su iprogrammatori e facendo una ...


il problema è l'overflow..
se non allochi abbastanza spazio per i dati in arrivo scanf "trabocchera'" i dati oltre il limite..
code:
char *str = malloc(sizeof(char) * 10); scanf("%s", str);


malloc ti riserva lo spazio per dieci byte.. quindi hai:
|_|_|_|_|_|_|_|_|_|_|

se inserisci una stringa di 5 caratteri ("ciao!") succede questo:
|c|i|a|o|!|\0|_|_|_|_|
e questo va bene..
ma se inserisci una stringa di 11 caratteri ("ciao bella!") succede questo:
|c|i|a|o|!| |b|e|l|l||a|!|\0|

come puoi vedere scanf scrive ben oltre il limite della memoria disponibile assegnataci da malloc..

questo genera un overflow che da comportamenti non definiti..

una soluzione sarebbe allocare una quantita' di memoria ragionevolmente ampia (1000 caratteri) per rendere il programma ragionevolmente sicuro..
un'altra soluzione sarebbe quella di leggere al massimo x caratteri e fare fscanf su di essi (ma imponendo comunque un limite di grandezza delle stringhe di input prefissato)
un'altra soluzione (quella che piu' va d'accordo con i requisiti del progetto) è quella di scrivere una funzione scanf o una funzione gets che non risentono del problema dell'overflow..

dico che "va piu' d'accordo con il progetto" per via dei requisiti di tipo: "stringa di lunghezza arbitraria"


Posted by hyperion on 15-02-2009 07:58:

Originally posted by iuz-lab
il problema è l'overflow..
se non allochi abbastanza spazio per i dati in arrivo scanf "trabocchera'" i dati oltre il limite..
code:
char *str = malloc(sizeof(char) * 10); scanf("%s", str);


malloc ti riserva lo spazio per dieci byte.. quindi hai:
|_|_|_|_|_|_|_|_|_|_|

se inserisci una stringa di 5 caratteri ("ciao!") succede questo:
|c|i|a|o|!|\0|_|_|_|_|
e questo va bene..
ma se inserisci una stringa di 11 caratteri ("ciao bella!") succede questo:
|c|i|a|o|!| |b|e|l|l||a|!|\0|

come puoi vedere scanf scrive ben oltre il limite della memoria disponibile assegnataci da malloc..

questo genera un overflow che da comportamenti non definiti..

una soluzione sarebbe allocare una quantita' di memoria ragionevolmente ampia (1000 caratteri) per rendere il programma ragionevolmente sicuro..
un'altra soluzione sarebbe quella di leggere al massimo x caratteri e fare fscanf su di essi (ma imponendo comunque un limite di grandezza delle stringhe di input prefissato)
un'altra soluzione (quella che piu' va d'accordo con i requisiti del progetto) è quella di scrivere una funzione scanf o una funzione gets che non risentono del problema dell'overflow..

dico che "va piu' d'accordo con il progetto" per via dei requisiti di tipo: "stringa di lunghezza arbitraria"


ma per ottenere tipo il comando al centro in una stringa nick M nick come posso procedere?divido in token?esiste una funzione simile?i mie i ricordi arrivano da java


Posted by Bloom on 15-02-2009 13:01:

Ma voi riuscite a far stampare le virgole nella stampa dei profili in modo corretto?
Io non ci riesco!!!!


Posted by hyperion on 15-02-2009 13:13:

Originally posted by Bloom
Ma voi riuscite a far stampare le virgole nella stampa dei profili in modo corretto?
Io non ci riesco!!!!



...quali virgole??


Posted by Bloom on 15-02-2009 13:48:

Nella stampa.....Ah nooo
Ma che cosa ho guardato?Ero convinta che ci fossero...mi sa che me le sono sognate.
Le operazioni con ? vi escono giuste?


Posted by hyperion on 15-02-2009 13:55:

Originally posted by Bloom
Nella stampa.....Ah nooo
Ma che cosa ho guardato?Ero convinta che ci fossero...mi sa che me le sono sognate.
Le operazioni con ? vi escono giuste?


ti ho mandato un pm...cmq avrai guardato più su quando diceva : siano nick1,nick2,nick3 i profili ecc ecc....nell'output da stampare però nn ci sono..


Posted by Bloom on 15-02-2009 14:03:

Nella prima versione di faccialibro avevo visto le virgole ,ma magari mi sono sbagliata


Posted by Joy88 on 16-02-2009 10:03:

Ma ragazzi.. voi compilate con gcc -ansi progetto.c??
Perchè a me in tal caso da almeno (non scherzo) 100 warning....
:(

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by Bloom on 16-02-2009 10:04:

su linux:
gcc -ansi nomeprogetto.c -o nomeprogetto
per windows:
gcc -ansi -o progetto progetto.c


Posted by Joy88 on 16-02-2009 10:10:

Merda!
..e adesso come faccio????
..se li lascio sarà grave???

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by poi_1969 on 16-02-2009 10:11:

State attenti alle indicazioni di iuz-lab, a volte esce fuori tema.


Posted by hyperion on 16-02-2009 10:12:

Originally posted by Joy88
Merda!
..e adesso come faccio????
..se li lascio sarà grave???


che warning hai?


Posted by Joy88 on 16-02-2009 10:18:

Se proprio vuoi vederli... :D

progetto.c:1538: error: `trovato' previously defined here
progetto.c:1562: warning: data definition has no type or storage class
progetto.c:1563: error: parse error before '}' token
progetto.c:1564: error: redefinition of `g'
progetto.c:1542: error: `g' previously defined here
progetto.c:1564: error: invalid type argument of `->'
progetto.c:1564: warning: data definition has no type or storage class
progetto.c:1565: error: parse error before '}' token
progetto.c:1566: error: redefinition of `g'
progetto.c:1564: error: `g' previously defined here
progetto.c:1566: error: initializer element is not constant
progetto.c:1566: warning: data definition has no type or storage class
progetto.c:1567: error: parse error before '}' token
progetto.c:1570: error: redefinition of `a3'
progetto.c:1513: error: `a3' previously defined here
progetto.c:1570: error: invalid type argument of `->'
progetto.c:1570: warning: data definition has no type or storage class
progetto.c:1571: error: parse error before '}' token
progetto.c:1572: error: redefinition of `a3'
progetto.c:1570: error: `a3' previously defined here
progetto.c:1572: error: initializer element is not constant
progetto.c:1572: warning: data definition has no type or storage class
progetto.c:1573: error: parse error before '}' token
progetto.c:1575: error: redefinition of `a2'
progetto.c:1260: error: `a2' previously defined here
progetto.c:1575: error: invalid type argument of `->'
progetto.c:1575: warning: data definition has no type or storage class
progetto.c:1576: error: parse error before '}' token
progetto.c:1577: error: redefinition of `a2'
progetto.c:1575: error: `a2' previously defined here
progetto.c:1577: error: initializer element is not constant
progetto.c:1577: warning: data definition has no type or storage class
progetto.c:1578: error: parse error before '}' token
progetto.c:1604: error: redefinition of `trovato'
progetto.c:1562: error: `trovato' previously defined here
progetto.c:1604: warning: data definition has no type or storage class
progetto.c:1605: error: parse error before '}' token
progetto.c:1606: error: redefinition of `g'
progetto.c:1566: error: `g' previously defined here
progetto.c:1606: error: invalid type argument of `->'
progetto.c:1606: warning: data definition has no type or storage class
progetto.c:1607: error: parse error before '}' token
progetto.c:1608: error: redefinition of `g'
progetto.c:1606: error: `g' previously defined here
progetto.c:1608: error: initializer element is not constant
progetto.c:1608: warning: data definition has no type or storage class
progetto.c:1609: error: parse error before '}' token
progetto.c:1628: error: redefinition of `trovato'
progetto.c:1604: error: `trovato' previously defined here
progetto.c:1628: warning: data definition has no type or storage class
progetto.c:1629: error: parse error before '}' token
progetto.c:1630: error: redefinition of `g'
progetto.c:1608: error: `g' previously defined here
progetto.c:1630: error: invalid type argument of `->'
progetto.c:1630: warning: data definition has no type or storage class
progetto.c:1631: error: parse error before '}' token
progetto.c:1632: error: redefinition of `g'
progetto.c:1630: error: `g' previously defined here
progetto.c:1632: error: initializer element is not constant
progetto.c:1632: warning: data definition has no type or storage class
progetto.c:1633: error: parse error before '}' token
progetto.c:1636: error: redefinition of `a3'
progetto.c:1572: error: `a3' previously defined here
progetto.c:1636: error: invalid type argument of `->'
progetto.c:1636: warning: data definition has no type or storage class
progetto.c:1637: error: parse error before '}' token
progetto.c:1638: error: redefinition of `a3'
progetto.c:1636: error: `a3' previously defined here
progetto.c:1638: error: initializer element is not constant
progetto.c:1638: warning: data definition has no type or storage class
progetto.c:1640: error: parse error before "if"
progetto.c:1669: error: redefinition of `trovato'
progetto.c:1628: error: `trovato' previously defined here
progetto.c:1669: warning: data definition has no type or storage class
progetto.c:1670: error: parse error before '}' token
progetto.c:1671: error: redefinition of `g'
progetto.c:1632: error: `g' previously defined here
progetto.c:1671: error: invalid type argument of `->'
progetto.c:1671: warning: data definition has no type or storage class
progetto.c:1672: error: parse error before '}' token
progetto.c:1673: error: redefinition of `g'
progetto.c:1671: error: `g' previously defined here
progetto.c:1673: error: initializer element is not constant
progetto.c:1673: warning: data definition has no type or storage class
progetto.c:1674: error: parse error before '}' token
progetto.c:1693: error: redefinition of `trovato'
progetto.c:1669: error: `trovato' previously defined here
progetto.c:1693: warning: data definition has no type or storage class
progetto.c:1694: error: parse error before '}' token
progetto.c:1695: error: redefinition of `g'
progetto.c:1673: error: `g' previously defined here
progetto.c:1695: error: invalid type argument of `->'
progetto.c:1695: warning: data definition has no type or storage class
progetto.c:1696: error: parse error before '}' token
progetto.c:1697: error: redefinition of `g'
progetto.c:1695: error: `g' previously defined here
progetto.c:1697: error: initializer element is not constant
progetto.c:1697: warning: data definition has no type or storage class
progetto.c:1698: error: parse error before '}' token
progetto.c:1701: error: redefinition of `a3'
progetto.c:1638: error: `a3' previously defined here
progetto.c:1701: error: invalid type argument of `->'
progetto.c:1701: warning: data definition has no type or storage class
progetto.c:1702: error: parse error before '}' token
progetto.c:1703: error: redefinition of `a3'
progetto.c:1701: error: `a3' previously defined here
progetto.c:1703: error: initializer element is not constant
progetto.c:1703: warning: data definition has no type or storage class
progetto.c:1704: error: parse error before '}' token
progetto.c:1728: error: redefinition of `trovato'
progetto.c:1693: error: `trovato' previously defined here
progetto.c:1728: warning: data definition has no type or storage class
progetto.c:1729: error: parse error before '}' token
progetto.c:1730: error: redefinition of `g'
progetto.c:1697: error: `g' previously defined here
progetto.c:1730: error: invalid type argument of `->'
progetto.c:1730: warning: data definition has no type or storage class
progetto.c:1731: error: parse error before '}' token
progetto.c:1732: error: redefinition of `g'
progetto.c:1730: error: `g' previously defined here
progetto.c:1732: error: initializer element is not constant
progetto.c:1732: warning: data definition has no type or storage class
progetto.c:1733: error: parse error before '}' token
progetto.c:1752: error: redefinition of `trovato'
progetto.c:1728: error: `trovato' previously defined here
progetto.c:1752: warning: data definition has no type or storage class
progetto.c:1753: error: parse error before '}' token
progetto.c:1754: error: redefinition of `g'
progetto.c:1732: error: `g' previously defined here
progetto.c:1754: error: invalid type argument of `->'
progetto.c:1754: warning: data definition has no type or storage class
progetto.c:1755: error: parse error before '}' token
progetto.c:1756: error: redefinition of `g'
progetto.c:1754: error: `g' previously defined here
progetto.c:1756: error: initializer element is not constant
progetto.c:1756: warning: data definition has no type or storage class
progetto.c:1757: error: parse error before '}' token
progetto.c:1760: error: redefinition of `a3'
progetto.c:1703: error: `a3' previously defined here
progetto.c:1760: error: invalid type argument of `->'
progetto.c:1760: warning: data definition has no type or storage class
progetto.c:1761: error: parse error before '}' token
progetto.c:1762: error: redefinition of `a3'
progetto.c:1760: error: `a3' previously defined here
progetto.c:1762: error: initializer element is not constant
progetto.c:1762: warning: data definition has no type or storage class
progetto.c:1763: error: parse error before '}' token
progetto.c:1765: error: redefinition of `a2'
progetto.c:1577: error: `a2' previously defined here
progetto.c:1765: error: invalid type argument of `->'
progetto.c:1765: warning: data definition has no type or storage class
progetto.c:1766: error: parse error before '}' token
progetto.c:1767: error: redefinition of `a2'
progetto.c:1765: error: `a2' previously defined here
progetto.c:1767: error: initializer element is not constant
progetto.c:1767: warning: data definition has no type or storage class
progetto.c:1768: error: parse error before '}' token
progetto.c:1771: error: redefinition of `a'
progetto.c:1370: error: `a' previously defined here
progetto.c:1771: error: invalid type argument of `->'
progetto.c:1771: warning: data definition has no type or storage class
progetto.c:1772: error: parse error before '}' token
progetto.c:1773: error: redefinition of `a'
progetto.c:1771: error: `a' previously defined here
progetto.c:1773: error: initializer element is not constant
progetto.c:1773: warning: data definition has no type or storage class
progetto.c:1774: error: parse error before '/' token
progetto.c:1774: error: stray '\350' in program
progetto.c:1796: error: parse error before '/' token
progetto.c:1798: error: conflicting types for `c'
progetto.c:968: error: previous declaration of `c'
progetto.c:1798: error: conflicting types for `p'
progetto.c:1312: error: previous declaration of `p'
progetto.c:1800: error: parse error before "for"
progetto.c:1803: error: `i' undeclared here (not in a function)
progetto.c:1803: error: conflicting types for `group'
progetto.c:1798: error: previous declaration of `group'
progetto.c:1803: warning: data definition has no type or storage class
progetto.c:1804: error: `i' undeclared here (not in a function)
progetto.c:1804: error: conflicting types for `p'
progetto.c:1798: error: previous declaration of `p'
progetto.c:1804: warning: data definition has no type or storage class
progetto.c:1805: error: parse error before '}' token
progetto.c:1827: warning: parameter names (without types) in function declaratio
n
progetto.c:1827: error: conflicting types for `grado_amico'
progetto.c:978: error: previous declaration of `grado_amico'

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by Joy88 on 16-02-2009 10:19:

..e attenzione.. non sono mica tutti.. :(

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by hyperion on 16-02-2009 10:31:

Originally posted by Joy88
..e attenzione.. non sono mica tutti.. :(


ma come fa a compilartelo normalmente??!
cmq alcuni errori :
progetto.c:1570: error: invalid type argument of `->'
qui gli stai dando in pasto un qualcosa che non è un puntatore ad una struttura infatti come argomento -> vuole un puntatore

esempio



struct prova {

int campo;

}

typedef struct prova chiave;

chiave *k;

k->campo;



cosi è giusto perchè k è un puntatore alla struttura..altrimenti dovrebbe darti quell'errore...


Posted by hyperion on 16-02-2009 10:32:

progetto.c:1563: error: parse error before '}' token


guarda che magari hai dimenticato qualche " ; " o errore di sintassi stupido prima di "} "


Posted by hyperion on 16-02-2009 10:35:

Ci sono tante ridefinizioni a quanto si vede....stai attento a non ridefinire tipi,funzioni già definiti in precedenza altrimenti va tutto in conflitto....C non è come Java che potevi avere più funzioni con lo stesso nome e argomenti diversi,non esiste overloading!


Posted by Joy88 on 16-02-2009 10:40:

Ragazzi con il dev c mi funziona senza warning nè niente..
se non metto -ansi funziona con pochissimi warning (che pensavo di lasciare) anche da riga di comando..
quindi direi che non mancano nè parentesi, nè punti e virgola..
..hyperion alla 1570 c'è: a3 = a3->next_a;
dove a3 è struct lista_amicizie *a3=a; e next_a è struct lista_amicizie *next_a=a;

Non so...
se dichiaro delle variabili locali con lo stesso nome in diverse funzioni non dovrebbe dare overloading no?!

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by hyperion on 16-02-2009 10:44:

Originally posted by Joy88
Ragazzi con il dev c mi funziona senza warning nè niente..
se non metto -ansi funziona con pochissimi warning (che pensavo di lasciare) anche da riga di comando..
quindi direi che non mancano nè parentesi, nè punti e virgola..
..hyperion alla 1570 c'è: a3 = a3->next_a;
dove a3 è struct lista_amicizie *a3=a; e next_a è struct lista_amicizie *next_a=a;

Non so...
se dichiaro delle variabili locali con lo stesso nome in diverse funzioni non dovrebbe dare overloading no?!


no se sono variabili locali delle funzioni no!però li appaiono ridefinizioni e precedenti definizioni....ora non so cosa siano quelle variabili a cui si riferisce..!


Posted by Joy88 on 16-02-2009 10:46:

Come ridefinizioni da errori stupidi tipo:
//dichiaro nella funzione la variabile locale
1538 :int trovato =0;
...
...
...
1561: if (...)
1562: trovato=1;

Gli errori dicono:
progetto.c:1538: error: `trovato' previously defined here
progetto.c:1562: warning: data definition has no type or storage class

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by hyperion on 16-02-2009 10:52:

Originally posted by Joy88
Come ridefinizioni da errori stupidi tipo:
//dichiaro nella funzione la variabile locale
1538 :int trovato =0;
...
...
...
1561: if (...)
1562: trovato=1;

Gli errori dicono:
progetto.c:1538: error: `trovato' previously defined here
progetto.c:1562: warning: data definition has no type or storage class


come l'hai compilato usando -ansi con dev C?
hai aggiunto -ansi alle opzioni di compilazione?


Posted by Joy88 on 16-02-2009 11:00:

No, non l'avevo aggiunto..!
Xò non capisco x' prima funzionava e adesso no..

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by hyperion on 16-02-2009 11:02:

Originally posted by Joy88
No, non l'avevo aggiunto..!
Xò non capisco x' prima funzionava e adesso no..


strano..prima te lo eseguiva senza problemi?


Posted by Joy88 on 16-02-2009 11:15:

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!!

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by hyperion on 16-02-2009 11:34:

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 ^^


Posted by Bloom on 16-02-2009 12:37:

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


Posted by Gehur on 16-02-2009 16:06:

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???


Posted by Bloom on 16-02-2009 16:14:

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


Posted by Gehur on 16-02-2009 17:06:

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?


Posted by Bloom on 16-02-2009 17:09:

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.


Posted by Gehur on 16-02-2009 18:05:

a ok, grazie tante


Posted by xSharKMaNx on 16-02-2009 18:27:

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!

__________________
Perché, mentre il manganello può sostituire il dialogo, le parole non perderanno mai il loro potere; perché esse sono il mezzo per giungere al significato, e per coloro che vorranno ascoltare, all'affermazione della verità. E la verità è che c'è qualcosa di terribilmente marcio in questo paese. (V)

I popoli non dovrebbero aver paura dei propri governi, sono i governi che dovrebbero aver paura dei popoli. (T.J)


Posted by hyperion on 16-02-2009 21:50:

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..


Posted by iuz-lab on 16-02-2009 23:38:

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


Posted by iuz-lab on 16-02-2009 23:41:

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


Posted by hyperion on 17-02-2009 08:56:

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!


Posted by Gehur on 17-02-2009 10:27:

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??


Posted by Bloom on 17-02-2009 10:33:

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


Posted by Joy88 on 17-02-2009 10:36:

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....

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by Bloom on 17-02-2009 10:38:

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


Posted by hyperion on 17-02-2009 10:38:

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....?


Posted by Gehur on 17-02-2009 10:39:

ok bloom, mi fido:D

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


Posted by Joy88 on 17-02-2009 10:41:

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."
-_-"

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by Bloom on 17-02-2009 10:42:

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!!!!


Posted by Joy88 on 17-02-2009 10:43:

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..

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by hyperion on 17-02-2009 10:44:

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è!


Posted by Bloom on 17-02-2009 10:45:

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


Posted by Gehur on 17-02-2009 10:45:

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


Posted by Bloom on 17-02-2009 10:45:

Ma chi ti ha risposto cosi?


Posted by Joy88 on 17-02-2009 10:47:

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!!!

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by darkman13 on 17-02-2009 10:49:

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...


Posted by Joy88 on 17-02-2009 10:49:

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

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by poi_1969 on 17-02-2009 10:50:

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


Posted by Bloom on 17-02-2009 10:52:

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


Posted by Bloom on 17-02-2009 10:54:

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.


Posted by Gehur on 17-02-2009 10:57:

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!!


Posted by hyperion on 17-02-2009 11:00:

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..


Posted by Bloom on 17-02-2009 11:01:

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.


Posted by Bloom on 17-02-2009 11:01:

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.


Posted by Bloom on 17-02-2009 11:02:

Originally posted by Bloom


Che scema riscritto 2 volte :D


Posted by Gehur on 17-02-2009 11:05:

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)..


Posted by darkman13 on 17-02-2009 11:05:

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


Posted by hyperion on 17-02-2009 11:09:

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


Posted by Bloom on 17-02-2009 11:15:

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.
:-)


Posted by Bloom on 17-02-2009 11:16:

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...


Posted by hyperion on 17-02-2009 11:18:

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!


Posted by xSharKMaNx on 17-02-2009 11:40:

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!

__________________
Perché, mentre il manganello può sostituire il dialogo, le parole non perderanno mai il loro potere; perché esse sono il mezzo per giungere al significato, e per coloro che vorranno ascoltare, all'affermazione della verità. E la verità è che c'è qualcosa di terribilmente marcio in questo paese. (V)

I popoli non dovrebbero aver paura dei propri governi, sono i governi che dovrebbero aver paura dei popoli. (T.J)


Posted by hyperion on 17-02-2009 11:54:

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...


Posted by Joy88 on 17-02-2009 11:54:

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

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by Bloom on 17-02-2009 12:14:

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


Posted by hyperion on 17-02-2009 12:22:

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!


Posted by Bloom on 17-02-2009 12:25:

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


Posted by hyperion on 17-02-2009 12:27:

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


tipo?


Posted by Bloom on 17-02-2009 12:30:

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


Posted by hyperion on 17-02-2009 12:35:

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!!


Posted by Bloom on 17-02-2009 12:37:

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


Posted by hyperion on 17-02-2009 12:39:

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?;)


Posted by Bloom on 17-02-2009 12:42:

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


Posted by xSharKMaNx on 17-02-2009 13:06:

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!

__________________
Perché, mentre il manganello può sostituire il dialogo, le parole non perderanno mai il loro potere; perché esse sono il mezzo per giungere al significato, e per coloro che vorranno ascoltare, all'affermazione della verità. E la verità è che c'è qualcosa di terribilmente marcio in questo paese. (V)

I popoli non dovrebbero aver paura dei propri governi, sono i governi che dovrebbero aver paura dei popoli. (T.J)


Posted by Bloom on 17-02-2009 13:09:

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


Posted by xSharKMaNx on 17-02-2009 13:31:

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?

__________________
Perché, mentre il manganello può sostituire il dialogo, le parole non perderanno mai il loro potere; perché esse sono il mezzo per giungere al significato, e per coloro che vorranno ascoltare, all'affermazione della verità. E la verità è che c'è qualcosa di terribilmente marcio in questo paese. (V)

I popoli non dovrebbero aver paura dei propri governi, sono i governi che dovrebbero aver paura dei popoli. (T.J)


Posted by gluca on 17-02-2009 13:46:

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


Posted by Bloom on 17-02-2009 14:13:

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.


Posted by Bloom on 17-02-2009 14:15:

Si èuò postare solo dopo marzo


Posted by hyperion on 17-02-2009 14:32:

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!...


Posted by Benny on 17-02-2009 22:35:

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 :?

__________________
Se non credi in te stesso, chi ci crederà?


Posted by Joy88 on 18-02-2009 09:09:

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

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by hyperion on 18-02-2009 09:24:

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...


Posted by Joy88 on 18-02-2009 09:41:

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

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by hyperion on 18-02-2009 09:45:

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...


Posted by Bloom on 18-02-2009 10:51:

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


Posted by Benny on 19-02-2009 07:02:

crepi il lupo joy88, grazie!

__________________
Se non credi in te stesso, chi ci crederà?


Posted by Gehur on 19-02-2009 20:15:

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???


Posted by Shaper on 20-02-2009 08:32:

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:

__________________
Eidolon64|Blog


Posted by hyperion on 20-02-2009 08:48:

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...


Posted by Shaper on 20-02-2009 09:06:

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?

__________________
Eidolon64|Blog


Posted by hyperion on 20-02-2009 09:10:

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??)


Posted by Gehur on 20-02-2009 10:26:

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)


Posted by Joy88 on 20-02-2009 10:32:

...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???

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by hyperion on 20-02-2009 11:22:

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?


Posted by Johnny88 on 20-02-2009 11:25:

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...


Posted by Joy88 on 20-02-2009 11:32:

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..

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by hyperion on 20-02-2009 11:47:

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?


Posted by Joy88 on 20-02-2009 11:53:

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...

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by hyperion on 20-02-2009 12:03:

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.....


Posted by Joy88 on 20-02-2009 12:05:

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

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by Shaper on 20-02-2009 12:06:

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;

__________________
Eidolon64|Blog


Posted by hyperion on 20-02-2009 12:07:

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


Posted by Joy88 on 20-02-2009 12:13:

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)!!!!!

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by hyperion on 20-02-2009 12:17:

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!


Posted by Shaper on 20-02-2009 16:48:

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 )

__________________
Eidolon64|Blog


Posted by hyperion on 20-02-2009 17:36:

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


Posted by Shaper on 20-02-2009 17:44:

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!)

__________________
Eidolon64|Blog


Posted by hyperion on 20-02-2009 17:47:

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


Posted by BeppeGoal on 21-02-2009 21:22:

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


Posted by hyperion on 22-02-2009 08:27:

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!


Posted by Joy88 on 22-02-2009 13:28:

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"???

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by Bloom on 22-02-2009 13:34:

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?


Posted by Shaper on 22-02-2009 13:35:

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...
:?

__________________
Eidolon64|Blog


Posted by Joy88 on 22-02-2009 13:37:

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??

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by Bloom on 22-02-2009 13:39:

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


Posted by Joy88 on 22-02-2009 13:41:

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???

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by Bloom on 22-02-2009 13:44:

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);


All times are GMT. The time now is 02:10. Pages (3): « 1 [2] 3 »
Show all 417 posts from this thread on one page

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