![]() |
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)
Progetto "FACCIALIBRO"
Buon giorno a tutti, ho letto il testo e già ho i brividi per il terrore di cosa fare...in questo progetto, mi pare che la difficoltà maggiore stia nel riuscire a far girare tutti questi comandi..non sapendo nemmeno come mi è andato l'edilizia dell'8 e non so dove diavolo trovare il tempo per studiare teoria, ma qualcuno è riuscito a terminare uno di questi progetti?![]()
__________________
Se non credi in te stesso, chi ci crederà?
io sto tentando di farlo. Un profilo è una struttura di due campi
![]()
![]()
io rinominerei il progetto in FacciaCulo. 
comunque da una prima disquisizione con un amico pare comodo usare hashmap insieme ad un grafo immaginario ![]()
scherzi a parte.... da dove si comincia? grrrrr
__________________
My Blog - My Photo Album
io come per edilizia, cerco di vedere quegli oggetti o quegli elementi come le entità della teoria dei db,quindi profili e gruppi, ma ci sono cose come amici, grado di separazione e la segnalazione che devono essere piu come dei campi che come entità, credo
...
per quanto mi riguarda riuserò ciò su cui ho sudato per l'edilizia, non vorrei buttarmi su un'altra struttura diversa, senno impazzisco, i tempi faranno schifo, ma e dura..ciao a tutti
__________________
Se non credi in te stesso, chi ci crederà?
damose una mano,...volemose bene ![]()
http://www.dis.uniroma1.it/~leon/di...RetiSociali.ppt
ecco alcune info utili ![]()
__________________
My Blog - My Photo Album
io rappresentere l'insieme dei profili mediante una lista di nodi
Questo lo tento anch'io sperando di capirne qualcosa:
Originally posted by Benny
io come per edilizia, cerco di vedere quegli oggetti o quegli elementi come le entità della teoria dei db,quindi profili e gruppi

ma ci sono cose come amici, grado di separazione e la segnalazione che devono essere piu come dei campi che come entità, credo...
per quanto mi riguarda riuserò ciò su cui ho sudato per l'edilizia, non vorrei buttarmi su un'altra struttura diversa, senno impazzisco, i tempi faranno schifo, ma e dura..ciao a tutti [/B]

__________________
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)
l'hash map come la vedete per la lista dei profili?
__________________
My Blog - My Photo Album
bho
quindi si può rappresentare un profilo in questa maniera :
struct profilo
{
char *nick;
char *status;
}nodo_profilo;
mentre per il fatto di dijkstra basta dare peso 1 a tutti i nodi?
__________________
My Blog - My Photo Album
La lista dei profili è secondo me rappresentata da :
struct lista_profili
{
char *nick_name;
char *status_user;
struct lista_profili *next;
};
typedef lista_profili lista_profili;
A questo punto dobbiamo creare una funzione che inserisca un nodo all'interno di una lista ordinata.
l'insieme dei profili può essere rappresentato con un albero binario???
Originally posted by middu
A questo punto dobbiamo creare una funzione che inserisca un nodo all'interno di una lista ordinata.
__________________
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)
non va per nulla
Io penso che ogni problema si possa risolvere in uno qualunque degli algoritmi, che esso sia hashing,grafi,alberi,lista è una questione personale, tanto quello che conta è sapere che si crea un nodo, con una sua chiave(nick,nome gruppo,ecc), lo si può buttare anche dentro la lavatrice
io ritengo che sia una questione di complessità e di tempo adattare la struttura e le funzioni al problema attuale, personalmente userò di nuovo l'hashing, perchè lo ho già usato per il problema edilizia..comunque, non vi fate dominare tanto dalla struttura dati, io mi sto scavando la fossa per le funzioni da applicare, che devono essere case sensitive e di un certo tipo..il main diventerà più lungo delle funzioni ghghgh
PS
dimenticavo quel bel ppt sui grafi, ti ringrazio johnnyd, non è che si poteva fare vedere solo la catena alimentare?io mi trovo in difficoltà a capire quello li, vedere quello della popolazione o di internet, direi che superare la prova del telaio di wanted era una cazzata a confronto ![]()
__________________
Se non credi in te stesso, chi ci crederà?
Ottimo ho letto dopo che potevo iscrivermi all'appello del 29 gennaio e così mi sono iscritto a quello del 19 febbraio e mi tocca implementare anche le funzionalità aggiuntive, grazie segreteria -__-'
pre analisi....
non amo ragionare tanto quando programmo ahimè.... questa volta però mi tocca a quanto pare...
vediamo se concettualmente ci siamo:
1) una prima struttura dovrà contenere l'elenco dei profili con status
2) ogni profilo ha una rete sociale formata dai nodi (che sarebbero tutti i profili) e gli archi. il grafo quindi sarebbe costruito in base agli archi
3) un gruppo potrebbe essere un profilo particolare..... e quindi evitare una seconda struttura
ora per la gestione e il coding sono in alto mare....
__________________
My Blog - My Photo Album

comunque con touchgraph possiamo farci un'idea...
__________________
My Blog - My Photo Album
mmm..si forse per i gruppi è meglio considerarli come profili particolari,ma come rappresentare i profili?una connessione grafo risulta più appropriata visto che ci possono essere relazioni di amicizia reciproca che possono portare ad un ciclo e un albero non può avere cicli....il problema è : se devo cercare un profilo come faccio?dovrei scorrere l'array di liste di adiacenza (se si usa questa rappresentazione dei grafi) ma senza criterio,scorrerla finchè non trovo il profilo....da questo punto di vista non è un vantaggio usare i grafi..
Originally posted by middu
bho
quindi si può rappresentare un profilo in questa maniera :
struct profilo
{
char *nick;
char *status;
}nodo_profilo;
Originally posted by hyperion
mmm..si forse per i gruppi è meglio considerarli come profili particolari,ma come rappresentare i profili?una connessione grafo risulta più appropriata visto che ci possono essere relazioni di amicizia reciproca che possono portare ad un ciclo e un albero non può avere cicli....il problema è : se devo cercare un profilo come faccio?dovrei scorrere l'array di liste di adiacenza (se si usa questa rappresentazione dei grafi) ma senza criterio,scorrerla finchè non trovo il profilo....da questo punto di vista non è un vantaggio usare i grafi..
__________________
My Blog - My Photo Album
Originally posted by johnnyd
se devi cercare un profilo, non basta cercare nell'hashmap?
ragazzi, una domanda: ma tra i comandi da implementare non esiste un comando per l'inserimento dei profili ????
Originally posted by nas
ragazzi, una domanda: ma tra i comandi da implementare non esiste un comando per l'inserimento dei profili ????
Originally posted by hyperion
nick n st
mhhh.. penso di si... le richieste di amicizia in che struttura andrebbero salvate?
__________________
My Blog - My Photo Album
Originally posted by nas
grazie, non avevo visto!!!
un'altra domanda: con il comando "nick d" si cancella il profilo nick, tutte le informazioni riguardanti nick e in particolare le richieste di amicizia ricevute da nick.
Ma secondo voi bisogna eliminare anche le richieste di amicizia che nick aveva chiesto ad altri profili ???
Originally posted by johnnyd
mhhh.. penso di si... le richieste di amicizia in che struttura andrebbero salvate?
Originally posted by johnnyd
mhhh.. penso di si... le richieste di amicizia in che struttura andrebbero salvate?
Originally posted by nas
eh... non so ancora.... non so se metterle in una struttura a parte o se metterle su ogni profilo....
__________________
My Blog - My Photo Album
Originally posted by johnnyd
una richiesta di amicizia in teoria dovrebbe essere così:
amico_1
amico_2
amico_1_accettato
amico_2_accettato
o sbaglio?
se uno dei due viene meno si cancella la richiesta...
si portebbe avere una struttura a parte con tutte le richieste... magari una lista
secondo me:
un gruppo è un profilo particolare con flag (gruppo = 1) e i componenti del gruppo non sono altro che delle associazioni profilo - profilo... quindi gruppo con lista di adiacenza e alla fine diventa tutto un unico grafo...
potrebbe andare?
__________________
My Blog - My Photo Album
Originally posted by johnnyd
secondo me:
un gruppo è un profilo particolare con flag (gruppo = 1) e i componenti del gruppo non sono altro che delle associazioni profilo - profilo... quindi gruppo con lista di adiacenza e alla fine diventa tutto un unico grafo...
potrebbe andare?
secondo me è la stessa cosa.... inoltre in questo modo si potrebbe calcolare un eventuale distanza anche profilo-gruppo per suggerire eventuali gruppi... anche se il progetto forse non lo chiede..
stasera spero di mettere mani sul codice... anche se ho tanta paura..... ehhe ![]()
__________________
My Blog - My Photo Album
Originally posted by johnnyd
secondo me è la stessa cosa.... inoltre in questo modo si potrebbe calcolare un eventuale distanza anche profilo-gruppo per suggerire eventuali gruppi... anche se il progetto forse non lo chiede..
stasera spero di mettere mani sul codice... anche se ho tanta paura..... ehhe![]()
non siete soli ragazzi..io stò pensando di implementare il progetto usando tabelle hash, un bel casino!
In questi progetti nn siam mai soli. L onnipotente ci aiuterà.
__________________
My Blog - My Photo Album
anch'io sto usando le tabelle hash, avevo provato con il progetto edilizia con risultati disastrosi, per ora il mio progresso è la gestione del main quasi completa, con tutti quei cavolo di comandi, implementati le struct necessarie, gli inserimenti semplici, eh me ne manca di roba..ma di tempo stavolta ne ho a yose, anche se non è mai abbastanza mannaia a morte
..settimana prossima vado dal prof a capire le mie cazzate
anche voi usate quel maledetto dev-c++ di merda?ah un debug che va a caso, ma perchè non c'è mai un cazzo di buono in giro...
__________________
Se non credi in te stesso, chi ci crederà?
io uso un editor di testo normale....
come avete pensato di implentare la funzionalità "segnalazione di nuovi amici" ???
io avrei in mente una cosa : un insieme di profili può essere una lista
Originally posted by middu
io avrei in mente una cosa : un insieme di profili può essere una lista
un profilo è una struttura
{
char *nick_utente;
char * status_utente;
}nodo;
a questo punto per stampare l'insieme dei profili registrati posso scorrere una lista di profili e quindi ho bisogno di qualche aiuto che possa implementare una lista di profili.
quindi la lista può essere rappresentata in questa maniera :
struct nodo lista_profili
{
struct nodo profilo;
nodo lista_profilo *next;
}
nodo profilo conterra il valore del profilo e un puntatore *next che punterà al nodo successivo
Originally posted by johnnyd
una richiesta di amicizia in teoria dovrebbe essere così:
amico_1
amico_2
amico_1_accettato
amico_2_accettato
o sbaglio?
se uno dei due viene meno si cancella la richiesta...
si portebbe avere una struttura a parte con tutte le richieste... magari una lista
__________________
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)
una domanda alquanto banale... ma quando dice:
"Il programma deve leggere dallo standard input (stdin) una sequenza di righe (separate da \n), ciascuna delle
quali corrisponde a un comando. Quando un comando è letto, deve essere eseguito immediatamente. Le operazioni
di stampa sono effettuate sullo standard output (stdout), e ogni stampa deve iniziare su una nuova
riga"
Intende un file di testo, oppure riga di comando?
__________________
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)
Originally posted by johnnyd
secondo me:
un gruppo è un profilo particolare con flag (gruppo = 1) e i componenti del gruppo non sono altro che delle associazioni profilo - profilo... quindi gruppo con lista di adiacenza e alla fine diventa tutto un unico grafo...
potrebbe andare?
__________________
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)
Chi di noi non ha un account su Facebook 
Bene... provate la teoria dei grafi 
http://nexus.ludios.net/
__________________
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)
Originally posted by xSharKMaNx
però a questo punto che struttura creeresti?
Profilo {
char *ute_nick;
char *ute_status;
int tipo;
char *grp_titolo;
}nodo;
__________________
My Blog - My Photo Album
Originally posted by johnnyd
no no
Profilo {
char *identificativo;
char *stato;
int tipo;
}nodo;
l'identificativo può essere il titolo del gruppo o il nick del'utente...
__________________
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)
quindi io creo due strutture una per profilo e una per gruppo. quella di profilo conterrà due campi che non sono altro che delle stringhe e un gruppo sarà rappresentato da un 'altra struttura che conterrà una stinga per contenere il titolo del gruppo. Poi si può creare una lista per rappresentare un insieme di profili, che è richiesto da un comando oppure un albero di ricerca binaria dove ogni nodo è un profilo. é giusta l'idea???
si, ma manca un particolare, nella struttura dell'utente dovrai indicare a quali gruppi l'utente ha aderito
In più ricordati che in entrambe le strutture dovrai inserire un puntatore al nodo successivo
__________________
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)
Originally posted by xSharKMaNx
si, ma manca un particolare, nella struttura dell'utente dovrai indicare a quali gruppi l'utente ha aderito
In più ricordati che in entrambe le strutture dovrai inserire un puntatore al nodo successivo
Originally posted by hyperion
da questa scelta dipenderà poi la logica con cui implementi tutte le altre funzioni...ovvero capire come rappresentare un gruppo non è una scelta banale...conviene prima guardarsi le funzioni che agiscono sui gruppi e poi usare la struttura più appropriata...
__________________
My Blog - My Photo Album
Originally posted by johnnyd
con la struttura che ho descritto prima, quando si andranno le matrici di adicenza, basterà inserire l'arco per associare gruppo e utente...
si liste...scusami 
__________________
My Blog - My Photo Album
Originally posted by johnnyd
si liste...scusami![]()
Un concetto che mi sfugge...
All'inizio bisognerà creare un grafo vuoto, ma quanti vertici gli passo?
__________________
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)
Originally posted by xSharKMaNx
Un concetto che mi sfugge...
All'inizio bisognerà creare un grafo vuoto, ma quanti vertici gli passo?

__________________
My Blog - My Photo Album
Originally posted by johnnyd
mhhh... tutti i profili?![]()
__________________
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)
penso di si, a meno che non fai come myspace... crei il primo utente TOM che sarà amico di tutti 
__________________
My Blog - My Photo Album
perfetto 
Grazie caro!
__________________
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)
Maledetto C e la sua non gestione di stringhe!
Nel momento in cui bisognerà testare cosa scrive l'utente come reperite la stringa ?
Utilizzare la getchar e grazie isSpace inserire in 3/4 array di char le varie stringhe?
__________________
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)
urka
ciao a tutti anche io sto tentando di fare questo progetto anche se sarebbe meglio studiare un algoritmo per vincere le scommesse ai cavalli..
al momento io ho creato le seguenti strutture..
struct profile {
int ID;
char nickname[20];
char status[20];
int friends[100];
int groups[100];
};
struct group {
int ID;
char title[20];
int friends[100];
};
struct profile profiles[100];
struct group groups[100];
__________________
Tutti gli uomini sono mortali.
Socrate era mortale.
Dunque, tutti gli uomini sono Socrate.
(Woody Allen)
adesso non so come tu voglia implementare le varie strutture, ma ti posso dire (ad un primo sguardo senza ragionarci) di riguardare quello che hai fatto, le variabili(all'interno delle strutture) devono avere dimensione dinamica, non va bene dargli una dimensione fissa, secondo me ti conviene dare un ochhio alle soluzioni di progetti vecchi
Re: urka
Originally posted by green.riot
ciao a tutti anche io sto tentando di fare questo progetto anche se sarebbe meglio studiare un algoritmo per vincere le scommesse ai cavalli..
al momento io ho creato le seguenti strutture..
mi sto concentrando sul primo comando quello dell'inserimento profilo / modifica status e devo dire che sono bloccato alla ricerca di un profilo già esistente.
per l'inserimento pensavo di aggiungere ogni profilo in un vettore ordinato, così posso utilizzare la ricerca binaria.
vedendo il vostro codice mi sa che manca qualche puntatore.. stavo provando a passare l'indirizzo del vettore ad una funzione di ricerca ma con scarsi risultati.. non riesco ad accedere ai campi ;-/
critiche e suggerimenti sono ben accetti, avete in mente metodi più semplici per risolvere il problema?
conoscete programmatori ninja?
__________________
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)
uuu
ok.. mi sa che ho fatto un bel casino.. ;-( questa sera provo a sistemare tutto.
ma quindi fatemi capire .. voi aggiungete alla struttura un nodo cioè un puntatore per accedere ai dati.. giusto?
__________________
Tutti gli uomini sono mortali.
Socrate era mortale.
Dunque, tutti gli uomini sono Socrate.
(Woody Allen)
Originally posted by xSharKMaNx
Maledetto C e la sua non gestione di stringhe!
Nel momento in cui bisognerà testare cosa scrive l'utente come reperite la stringa ?
Utilizzare la getchar e grazie isSpace inserire in 3/4 array di char le varie stringhe?
) la locazione del puntatore.__________________
Se non credi in te stesso, chi ci crederà?
oooooolllllllleeeeee, risolto..ecco con questo in poche ore finiro di gestire tutti i comandi e potro fare del testing, siii finalmente si ragiona
__________________
Se non credi in te stesso, chi ci crederà?
benny dimmi una cosa : io ho per il momento creato queste strutture : struct profilo
{
char *nome_utente;
char *status_utente;
};
struct gruppo
{
char *titolo_gruppo;
};
poi???
purtroppo devo abbassare l'euforia, perchè il prof mi ha vietato una funzione..ora ti rispondo middu
dunque, quelle che hai creato sono solo le strutture fondamentali, ovvero che cavolo ci sta dentro profilo e gruppo.
ora devi scegliere che struttura dati implementare:
in ognuna di queste avrai da usare sicuramente dei puntatori, che saranno puntatori di tipo oggetto che hai creato tu es
dentro la struct profilo
profilo *nomepuntatore
e lo stesso per gruppo
gruppo *puntatore
ovviamente la scelta di quanti e quali puntatori dipende dalla struttura
io uso l'hash, per gli alberi dovrebbe essere
profilo *left
profilo *right
profilo *father
dipende da cosa decidi di fare..
__________________
Se non credi in te stesso, chi ci crederà?
Originally posted by Benny
purtroppo devo abbassare l'euforia, perchè il prof mi ha vietato una funzione..ora ti rispondo middu
dunque, quelle che hai creato sono solo le strutture fondamentali, ovvero che cavolo ci sta dentro profilo e gruppo.
ora devi scegliere che struttura dati implementare:
in ognuna di queste avrai da usare sicuramente dei puntatori, che saranno puntatori di tipo oggetto che hai creato tu es
dentro la struct profilo
profilo *nomepuntatore
e lo stesso per gruppo
gruppo *puntatore
ovviamente la scelta di quanti e quali puntatori dipende dalla struttura
io uso l'hash, per gli alberi dovrebbe essere
profilo *left
profilo *right
profilo *father
dipende da cosa decidi di fare..
io vorrei fare una lista per contenere tutti i profili. Quindi devo crearmi una struttura che mi rappresenti il profilo come ti avevo scritto prima, poi mi devo creare un nodo che deve rappresentare il nodo della lista. Come dato dovrà quindi verrà inserito un profilo e un nodo puntatore.
poi avrei intenzione di mettere un puntatore ad una lista che servirà da traino per accedere all'insieme di membri che appartengono ad un determinato gruppo.
middu una cosa tipo questa...
struct profilo
{
char *nome_utente;
char *status_utente;
profilo *next;
};
poi ti creerai ciò che ti serve nel main..
rispondo a hyperion:
usavo la funzione gets(char *c);
praticamente con questo gioiellino buttavo in c tutto quello che si scriveva fino all'invio, ovviamente il prof la ha vietata(deprecata) 
lui consiglia sempre getchar, io non ce la faccio e uso scanf, ma ho dei problemi con le stringhe di caratteri, porca miseria
__________________
Se non credi in te stesso, chi ci crederà?
Originally posted by Benny
middu una cosa tipo questa...
struct profilo
{
char *nome_utente;
char *status_utente;
profilo *next;
};
poi ti creerai ciò che ti serve nel main..
rispondo a hyperion:
usavo la funzione gets(char *c);
praticamente con questo gioiellino buttavo in c tutto quello che si scriveva fino all'invio, ovviamente il prof la ha vietata(deprecata)
lui consiglia sempre getchar, io non ce la faccio e uso scanf, ma ho dei problemi con le stringhe di caratteri, porca miseria
ho letto su alcuni forum che gets è sconsigliata per un problema di buffer overflow .. io sto usando fgets.. si potrà usarla?! è come gets ma in un parametro aggiungi il limite massimo da leggere
per come creare la struttura spero di avere una rivelazione come la piccola pastorella ha avuto dalla Madonna a Lourdes
__________________
Tutti gli uomini sono mortali.
Socrate era mortale.
Dunque, tutti gli uomini sono Socrate.
(Woody Allen)
anch'io sto utilizzando fgets, per quanto riguarda il problema delle stringhe in input ho risolto utilizzando strtok.
In questa maniera si ha la possibilità di suddividere la stringa in input in più "token", i risultati gli inserite all'interno di un vettore, il primo elemento del vettore [0] conterrà la parola chiave, se è system significa che bisognerà eseguire un comando di sistema, altrimenti bisognerà eseguire un comando di profilo!
Buon Lavoro gente... e che Dio ci illumini! (devo anche vedere alcuni punti di teoria santa claus)
__________________
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)
OK
a questo punto mi creo delle funzioni che mi permettono di inserire un profilo attraverso una lista. Un gruppo sarà qualcosa di simile . Una struttura che conterrà anche una lista di tutti i profili presenti ed iscritti in un determinato gruppo
anche io oggi mi sono scontrato col main..cavolo è davvero un bel casino, si comunque sto progetto è bello lungo, io devo implementare un sacco di funzioni
per la cronaca come strutture dati uso hash, liste e alberi..
mi sta aiutando parecchio l'esempio sulle tabelle hash che si trova sul sito algoteam, l'implementazione di un dizionario
hai il sito
???
Originally posted by middu
hai il sito
???
Prego gente!
http://www.algoteam.dsi.unimi.it/im...codici/hash.txt
__________________
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)
Originally posted by hyperion
comunque per me la soluzione migliore è una lista!!!!fai una lista di tutti i profili disordinata e bohm!!non sarà efficiente ma pazienza XD

__________________
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)
quindi i profili li si crea con una tabella hash quindi???
Originally posted by middu
quindi i profili li si crea con una tabella hash quindi???

__________________
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)
quindi la struttura del profilo è questa:
struct profilo
{ /* rappresenta un profilo della lista */
char *nick_name; /* punta alla parola che identifica il nome utente */
char *staus_utente /* punta alla parola che identifica lo status dell'utente */
struct element *next; /* prossimo elemento della lista */
struct element *prev; /* elemento precedente */
};
Ma cosa stai utilizzando? Grafi
__________________
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)
sto guardando quello che hai linkato. però penso che sia sbagliato !!!!
come dici di farlo???
pardon :
struct profilo
{
/* rappresenta un profilo della lista */
char *nick_name; /* punta alla parola che identifica il nome utente */
char *staus_utente /* punta alla parola che identifica lo status dell'utente */
struct element *next; /* prossimo elemento della lista */
};
io sto provando a fare il progetto con le hash quasi esclusivamente per risolvere in maniera efficiente la funzione consiglia nuovi amici..
se voi avete trovato una soluzione efficiente con le liste o coi grafi o altro usate quelle..per dire qui parlate di grafi, io non ci ho pensato minimamente(e non perchè ineficciente, non mi è venuto in mente)
ma usando grafi non c'è il problema nell'allocazione del'array di puntatori?perchè deve essere di una dimensione data però non so quanti profili avro!!
i profili come possono essere rappresentati in tabelle hash???
Originally posted by middu
i profili come possono essere rappresentati in tabelle hash???
lo so io ho fatto una cosa del genere :
struct profilo
{ /* rappresenta un profilo della lista */
char *nick_name; /* punta alla parola che identifica il nome utente */
char *staus_utente; /* punta alla parola che identifica lo status dell'utente */
struct element *next; /* prossimo elemento della lista */
};
/* una funzione che mi crea dinamicamente un vettore di char che contiene
la parola nick_name e restituisce un puntatore al vettore creato */
char *crea_nick(char *word)
{
char *w;
w= calloc(strlen(word),sizeof(char));
strcpy(w,word);
return w;
}
la funzione cosa fa data una parola che rappresenta il nick, crea un array di caratteri che dovrà contenere una parola che rappresenta il nome utente
ho letto http://www.algoteam.dsi.unimi.it/im...codici/hash.txt
ma copio dal testo:
Si noti che per realizzare una tabella hash e' fondamentale che la dimensione
della tabella possa essere modificata a piacere senza dover modificare la
definizione della funzione hash. In questo caso basta cambiare il valore di
HASHSIZE e ricompilare il programma.
#define HASHSIZE 5000 /* dimensione della tabella hash */
__________________
Tutti gli uomini sono mortali.
Socrate era mortale.
Dunque, tutti gli uomini sono Socrate.
(Woody Allen)
siccome devo avere dei nomi utenti univoci devo ho creato una funzione che permette di verificare se il nome o nick di un utente è uguale lessograficamente ad uno di dei nick presenti in lista. E' giusto come ragionamento???
Originally posted by green.riot
ho letto http://www.algoteam.dsi.unimi.it/im...codici/hash.txt
ma copio dal testo:
quindi non ho la possibilià aggiungere 5001 profili, ma dovrò in ogni caso ricompilare i sorgenti per farlo .. -.-'' o sbaglio?
a questo punto meglio i grafi .. la soluzione delle liste mi sembra inefficiente
 
Raga qui state andando in paranoia totale inutilmente!
@ green.riot
se proprio vuoi usare le tabelle hash metti come HASHSIZE MAX_INT cosi vai sul sicuro tanto + profili di quelli non puoi inserire visto che è il limite degli interi.
Forse ti starai chiedendo "ma non è spreco di spazio definire la hash table con MAX_INT" in realtà non sprechi molto spazio perchè se non contiene nessun elemento la tua tabella ha solo dei puntatori!! quindi direi che lo spreco è minimo.
@ hyperion
prima di tutto non so dove avete visto che per creare un grafo bisogna indicare il numero di vertici che conterrà. mah!!
qui ci sono un sacco di progetti (tra i quali i miei) che fanno uso di grafi a volontà
, e ti assicuro che non è necessario sapere il numero di nodi del grafo.
@ per tutti
Tabelle hash o grafi?
dipende di come vi trovate meglio.
inoltre con le tabelle hash avete il limite imposto dal tipo di dati intero mentre con i grafi non avete nessun limite ( tranne che quello della memoria RAM
)
ciao e buon progetto a tutti!!
DS.
__________________
by Ð@rk§h@ÐØw
Grazie dark per il contributo ![]()
__________________
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)
dark avanzi una birra
__________________
My Blog - My Photo Album
leggendo i vostri post mi sono venuti 2 dubbi:
1 - ma i comandi bisogna leggerli da tastiera o file ????
2 - come avete pensato di fare l'algoritmo per suggerire nuovi amici a un utente ???
grazie dark per i suggerimenti, ritorno sui miei passi vai di grafo con liste
__________________
Tutti gli uomini sono mortali.
Socrate era mortale.
Dunque, tutti gli uomini sono Socrate.
(Woody Allen)
scusate, ma io sono da giorni che impazzisco per l'input, sto input di lunghezza arbitraria, mi sta facendo schizzare le vene fuori dalla testa..da tutte le prove che ho potuto fare, non posso ottenere piu di tanto, al max 4 o 5 parole dipende dall'archiettura della cpu e anche la loro lunghezza non e mica infinita..ora che ho raggiunto lo scopo, proseguiro, che di test ce ne sono e il tempo non e eterno ragazzi/e tutto questo mi ricorda statistica, e ne devo buttare di sangue come disse qualcuno..
__________________
Se non credi in te stesso, chi ci crederà?
io avrei intenzione di crearmi una lista per i profili e per i gruppi un grafo, dove ogni gruppo punterà alla lista di tutti i profili che sono iscritti a quel gruppo
Originally posted by nas
leggendo i vostri post mi sono venuti 2 dubbi:
1 - ma i comandi bisogna leggerli da tastiera o file ????
2 - come avete pensato di fare l'algoritmo per suggerire nuovi amici a un utente ???
Originally posted by nas
nessuno che mi risponde ???
Originally posted by hyperion
1)da tastiera..anche perchè è specificato stdinput nel testo del progetto
2)dipende che strutture dati usi...
Ciao raga,
come siete messi con il progetto??? Io direi male :-(
allora benvenuto sei dei nostri :-)
__________________
Tutti gli uomini sono mortali.
Socrate era mortale.
Dunque, tutti gli uomini sono Socrate.
(Woody Allen)
pure io vi faccio compagnia..ho il progetto che mi sfonda la memoria cavolo, ed è solo prima funzione di inserimento..siamo spacciati..
Quesito tecnico... ma se uno tenta il progetto del 18, e (grattatina) non andasse bene, può fare quello dell'8 marzo anche se il progetto non differisce di molto? (beh insomma...)
Secondo voi?
Grazie e buon lavoro a tutti!
anche io ci ho pensato, credo di si comunque
Io ho in mente di rappresentare un gruppo con un grafo. Ogni nodo del grafo conterrà la descrizione del gruppo e un puntatore ad una lista ordinata che conterrà tutti i profili iscritti in quel gruppo. L'idea vi piace ??? Per il momento è questa la mia idea del gruppo. Per contenere tutti i profili, invece ho pensato di utilizzare una lista ordinata. é Buona l'idea???
io ho scelto questa soluzione (vedi allegato)..
scusate se non si capisce un c***o ma non sono un grande scrittore..
si ma poi riesci ad implementare il tutto?? io ho problemi con l'inserimento del profilo nella tabella hash, ho anche capito il problema ma non riesco a risolverlo, e dire che è una cavolata(e il tempo stringe!)
Originally posted by iuz-lab
io ho scelto questa soluzione (vedi allegato)..
scusate se non si capisce un c***o ma non sono un grande scrittore..
mm, io ho fatto un grafo con liste di adiacenza orientato quando una persona aggiunge un'altra finisce nel vettore degli amici. se anche l'altra persona ha il puntatore della persona che ha fatto la richiesta di amicizia allora sono amici, in caso contrario la richiesta resta sempre pendente.
ora dubbio, volevo fare un inserimento ordinato utilizzando la ricerca binaria modificata che mi restituisca il puntatore in cui fare l'inserimento. solo che sono sempre costretto a fare la scansione di tutta la lista per trovare il nickname da cercare ![]()
esempio:
___1______2____3_____4_____5____
| andrea | azul | beta | darwin | growl |
---------------------------------------------
@cerca darwin
G->V / 2 # divido in due il numero dei vertici
__________________
Tutti gli uomini sono mortali.
Socrate era mortale.
Dunque, tutti gli uomini sono Socrate.
(Woody Allen)
ops come non detto si può -.-'' scusate
__________________
Tutti gli uomini sono mortali.
Socrate era mortale.
Dunque, tutti gli uomini sono Socrate.
(Woody Allen)
come hai pensato di gestire la funzionalità di "consigliare nuovi amici" ???
Ciao a tutti, qualcuno di voi mi saprebbe dire come diavolo si resetta una stringa(puntatore char) in questo malefico linguaggio?
le sto provando tutte il problema mio è che uso scanf e strcat che concatena due puntatori stringa, ma all'iterazione successiva il puntatore è quasi pieno e non fa un tubo o fa cazzate..
aggiungere un \0 non fa nulla, anzi da errore
non è bello come java quindi non si può fare stringa=""
funzioni standard non ci sono
fare free e riallocare non fa una mazza
insomma o mi metto io a grattare i dischi magnetici per pulire la stringa o non si da una mossa sta maledetta stringa...
io ancora devo fare un casino di roba e mi sento come prince of persia solo che ho una clessidra piu piccola anche se devo consegnare il 9 marzo
__________________
Se non credi in te stesso, chi ci crederà?
il tuo problema è leggere una la stringa di input??
per esempio nick n nick2
comunque se ti può essere utile e se ho capito il problema:
char* stringa = calloc(30,sizeof(char));
ti crea una stringa di 30 caratteri, se non bastano basta fare realloc
string = (char*)realloc(string, (i+1)*sizeof(char));
sui vari progetti vecchi c'è la funzione readstring che fa questo
no gehur il problema e leggere system ? nick1 nick2 gruppo
dove gruppo puo avere degli spazi bianchi, e in generale in tutti i comandi dove ci sta o gruppo o status che implicano spazi bianchi..
provero a vedere questa readstring..
comunque nel realloc, si estende la stringa corrente, io devo renderla di nuovo vuota
ovvero dopo un comando il puntatore e sporco del vecchio comando, se io ne immettessi un altro, lo metterebbe in coda fino al totale riempimento o a delle schifezze...
i passi sono:
comando carattere qualcosa gruppo(o status)
le stringhe sono piene
devo renderle vuote(gruppo=vuoto)
grazie
controllero quella funzione
__________________
Se non credi in te stesso, chi ci crederà?
 
magari farlo puntare a NULL??
__________________
by Ð@rk§h@ÐØw
gia fatto, quando alla prossima iterazione ci riscrivo sopra, riscriverei su un puntatore a null, quindi errore ecc...
__________________
Se non credi in te stesso, chi ci crederà?
 
cmq non capisco a cosa ti serve azzerare la stringa. quando ti serve basta ke la fai punatre a la nuova stringa.
__________________
by Ð@rk§h@ÐØw
per leggere una riga del tipo nick n st dove nick non ha spazi mentre st si potete fare in questo modo..
code:
line = gets(); nickname = strtok(line, " "); command = strtok(NULL, " "); status = strtok(NULL, "");
code:
[cut] #define BLK " \t" [cut] cmd->w0 = cmd->w1 = cmd->w2 = NULL; cmd->w0 = s_strtok(line, BLK); if (cmd->w0 == NULL) { // uscita con errore } cmd->w1 = s_strtok(NULL, BLK); if (cmd->w1 == NULL) { // uscita con errore } if (strlen(cmd->w1) != 1) { // uscita con errore } switch (cmd->w1[0]) { [cut] case 'n': free(cmd->w1); cmd->w2 = s_strtok(NULL, ""); cmd->w1 = s_trim(cmd->w2, BLK); if (cmd->w1 != NULL) { cmd->action = USR_CH_STATUS; return cmd; } [cut]
giusto per chiarire le idee a chi ne ha bisogno..
per gestire input di lunghezza arbitraria si usano le funzioni malloc, realloc, free, getchar..
esempio per la memoria (lettura di 9 caratteri):
code:
int i; char *str; str = malloc((size_t) 10); // allocazione dello spazio per 9 caratteri (piu' 1 per il '\0') for (i = 0; i < 9; i++) { // leggo 9 caratteri str[i] = getchar(); } str[9] = '\0'; // metto il carattere di fine stringa (non servirebbe ma è sempre bene) // codice che elabora la mia stringa free(str); // libero la memoria allocata all'inizio
code:
static int __eofflag = 0; char *s_gets () { char *line; int i, s = 16; char c; if (__eofflag) { return NULL; } line = malloc(sizeof(char) * s); for (i = 0; 1; i++) { if (i + 1 >= s) { s *= 2; line = realloc(line, s); } c = getchar(); switch (c) { case '\n': line[i] = '\0'; return line; case EOF: __eofflag = 1; if (i == 0) return NULL; line[i] = '\0'; return line; default: line[i] = c; break; } }
Ciao!
ragazzi qui il progetto va male.......!!!
Ora sono alle prese con il nick c...... mah.... ho seri dubbi.....
Domanda:
Mi sono fatta una virtual machine x linux dato che uso windows solo che mi mancano le librerie.. anche quelle standard x il gcc!!
quindi non funziona niente.. quindi chiedo a voi guru di linux: sapete dove posso scaricarle e dove le devo mettere???
__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."
*Dante*
 
ma perchè ti 6 fatto la VM?? guarda che c'è gcc anche per winzokz!!
__________________
by Ð@rk§h@ÐØw
Ho scritto con il Dev C++ ma dalle lezioni di lab ho scoperto che alcune cose sono incompatibili con il gcc.. ad esempio la getch(); che equivale alla system ("PAUSE")..
quindi ho dedotto che non stavo scrivendo in ANSI C...
In ogni caso.. su windowz cosa devo fare?? i comandi son gli stessi????
__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."
*Dante*
 
sul sito di aguzzoli c'è gcc per win. decomprimi la cartella e poi da riga di comando vai nella cartella e digiti gocs che ti setta le variabili d'ambiente e poi il resto è uguale a gcc in linux.
__________________
by Ð@rk§h@ÐØw
Ti ringrazio Darkshadows!!!
Adesso ci provo..!!
Ti citerò nei ringraziamenti del progetto!!!
![]()
ihihih!!!
__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."
*Dante*
iuz-lab ci ho capito poco di tutto quello che hai detto, anche perchè io prima usavo l'originale gets e il prof me lo aveva vietato, cosi sono passato alla scanf, e tutto andava bene ma siccome devo prendere un input con spazi bianchi e quindi ho usato strcat per aggiungerli, mi fa un casino non indifferente..in pratica credo che con la scanf il puntatore venga sovrascritto normalmente, ma nel caso io usi la strcat, sovrascriva solo l'ultimo puntatore, e presto si riempira del tutto lasciando il vecchio contenuto quasi intatto...continuo a provare a ripulire il puntatore, ma perdo tempo per sta cosa..
ti ringrazio per l'interesse, pero non posso copiare il tuo codice o il prof mi fa il culo quando lo vede
__________________
Se non credi in te stesso, chi ci crederà?
allora vedo di essere piu' chiaro..
l'obiettivo è dividere una stringa in modo particolare.. nello specifico (per nick n st):
<spazi bianchi> <nick> <spazi bianchi> <char 'n'> <spazi bianchi> <st>
per farlo il c ti mette a disposizione diverse funzioni utili.. gets e strtok sono quelle che ci interessano..
char *gets(char *s);
Reads next line from stdin into s. Replaces terminating newline with '\0'. Returns s, or NULL on end-of-file or error.
e qui ci troviamo di fronte al problema dell'overflow che puoi risolvere usando readstring (ammesso che io abbia capito quello che dovrebbe fare readstring.. magari mi sto' sbagliando) o la funzione che ho postato o una funzione equivalente..
char* strtok(char* s, const char* ct);
A sequence of calls to strtok returns tokens from s delimited by a character in ct. Non-NULL s indicates the first call in a sequence. ct may differ on each call. Returns NULL when no such token found.
questa funzione è una manna per leggere stringhe del tipo nick n st..
in pratica la prima volta che la chiamiamo gli passiamo come primo parametro il nome della stringa da esaminare e nelle successive chiamate gli passiamo NULL, mentre come secondo parametro gli indichiamo un set di caratteri che funzionano da delimitatori..
per esempio:
code:
char *string = "123 456 789"; char *part; part = strtok(string, " "); do { printf("-- %s --\n", part); } while (part = strtok(NULL, " ") != NULL);
code:
-- 123 -- -- 456 -- -- 789 --
code:
char *string = "bob n i hate facebook"; char *nickname, *action, *status; nickname = strtok(string, " "); action = strtok(NULL, " "); status = strtok(string, ""); // NOTA CHE NON HO DATO ALCUN CARATTERE DELIMITATORE printf("--%s--", nickname); printf("--%s--", action); printf("--%s--]", status);
code:
--bob-- --n-- -- i hate facebook--
code:
char *line; char *nick, *status, *action, *string1; while(line = gets() != NULL) { // qui usa una funzione sicura ma equivalente a gets string1 = strtok(line, " "); // questo è il primo token (non so come chiamarlo finche //non conosco l'azione da intraprendere.. //e questo lo posso capire solo esaminando il secondo token nello switch) action = strtok(NULL, " "); switch(action[0]) { // ... case 'n': nick = string1; // adesso che so che la funzione è 'n' ho capito che il // primo token rappresentava il nickname status = strtok(NULL, ""); // qui ci finirà "status" con eventuali spazi iniziali // elimino gli spazi iniziali (e magari anche finali) da status // faccio le mie sporche operazioni con nick e status break; // ... } }
Originally posted by Benny io prima usavo l'originale gets e il prof me lo aveva vietato, cosi sono passato alla scanf [/B]
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:
Per semplicità si suppone che l’input sia sempre conforme alle specifiche delle Tabelle 1,2,3 e 4, per cui
non è necessario controllare la correttezza dell’input. Per leggere l’input si usino le funzioni standard
ANSI C getchar() e/o scanf().
__________________
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)
Ragazzi io sto implementando tutto tramite liste..
Ma avete pensato a come fare per i gradi di separazione?? 
Non so proprio dove sbatter la testa..
__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."
*Dante*
be io conto tutti gli amici che ho, e ci levo 1..
quindi se ho 3 mici nella lista amici, il grado di separazione sarà 2, se ho solo 1 amico, sarà infinito..
il fatto è che non sono sicuro di aver capito la specifica ![]()
ma qualcuno è riuscito a finirlo il progetto??
No aspetta x il grado di separazione io l'ho inteso così:
A amico di B amico di C amico di D
tra A e B il grado è 1
tra A e C il grado è 2
tra A e D il grado è 3
se avessi:
A amico di B amico di C amico di D e E amico di F
tra A e E il grado è infinito
tra A e F il grado è infinito
![]()
..Ho capito male io??? 
__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."
*Dante*
quindi tu dici se non sono amici grado infinito,altrimenti se sono amici conta quante persone ci sono tra loro 2
e bo..io non ho capito molto bene il testo, dovrei rileggerlo ma adesso sono in sbatta per far funzionare il tutto correttamente, al max il grado di separazione lo ricalcolo, non mi sembra il problema più grosso..
Originally posted by Joy88
No aspetta x il grado di separazione io l'ho inteso così:
A amico di B amico di C amico di D
tra A e B il grado è 1
tra A e C il grado è 2
tra A e D il grado è 3
se avessi:
A amico di B amico di C amico di D e E amico di F
tra A e E il grado è infinito
tra A e F il grado è infinito
..Ho capito male io???![]()
__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."
*Dante*
io alla prima lettura l'avevo interpretata così:
system ! nick nick2
nick e nick 2 devono essere amici, se sono amici conta quante persone ci sono nella lista amici di nick, se è presente solo nick2 fai grado infinito..
ripeto dovrei rileggerla visto che ho dubbi su come l'ho compresa
Originally posted by xSharKMaNx
ma la fgets si potrà utilizzare ?
ragazza ma è sufficiente che il progetto compilato con
gcc -o faccialibro faccialibro.c
non dia nessun errorre o warning o bisogna compilarlo con le opzioni -ansi e -pedantic e quindi
gcc -o -ansi -pedantic faccialibro faccialibro.c
???????
Originally posted by nas
ragazza ma è sufficiente che il progetto compilato con
gcc -o faccialibro faccialibro.c
non dia nessun errorre o warning o bisogna compilarlo con le opzioni -ansi e -pedantic e quindi
gcc -o -ansi -pedantic faccialibro faccialibro.c
???????
| All times are GMT. The time now is 03:15. | 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.