![]() |
Pages (28): « First ... « 19 20 21 22 [23] 24 25 26 27 » ... Last » 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)
Originally posted by Joy88
Solito quesito mattutino:
amico* trovaAmico(amico *a, char *nick)
{
amico *app = malloc(sizeof(amico));
app = a;
while(app!=NULL)
{
if (strcmp(nick, app->nome)==0)
return app;
app = app -> next;
}
return NULL;
}
Mi va in segmentation fault (strano eh!) alla strcmp nonostante abbia rincontrollato che il tipo amico abbia veramente un campo nome.. ovviamente char..
Originally posted by Bloom
se chiedi di stampare il nome dell'amico a lo stampa?
Originally posted by Shaper
Scusate, ho un problema con la funzione strcpy().
Quando compila mi da questo warning:
faccialibro.c:380: warning: incompatible implicit declaration of built-in function 'strcpy'
L'ho usata per esempio in questa funzione:
void status_mod(element *ele, char *str){
strcpy(ele->status, str);
}
Nonostante questo mi sembra che funzioni tutto regolarmente, ma se mi da quel warning qualcosa di storto ci dev'essere...
Anche a voi da questo problema?
Ah, compilo con gcc attraverso NetBeans per Mac
Originally posted by Johnny88
ma string.h l'hai incluso?
__________________
Eidolon64|Blog
Originally posted by Bloom
se chiedi di stampare il nome dell'amico a lo stampa?
__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."
*Dante*
se sviluppi con linux prova ad usare valgrind che ti dice il perchè e il dove di una segmentation fault
Uso il dev c in ambiente windows.........
__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."
*Dante*
ah ok, ma voi per il cammino minimo che algoritmo usate?
Originally posted by Joy88
cmq no, non lo stampa..
Dietro consigli l'ho cambiato in questo modo:
amico* trovaAmico(amico* a, char *nick)
{
adiacenza* temp = malloc(sizeof(adiacenza));
temp->adiacente=a;
printf ("Ecco qui: %s\n", temp->adiacente->nome);
while(temp!=NULL)
{
if (strcmp(temp->adiacente->nome, nick)==0)
return temp->adiacente;
temp = temp -> next;
}
return NULL;
}
Inutile dire che il segfault ora va sulla printf e se la togliessi va sulla strcmp...
__________________
by Ð@rk§h@ÐØw
Originally posted by Joy88
cmq no, non lo stampa..
Dietro consigli l'ho cambiato in questo modo:
amico* trovaAmico(amico* a, char *nick)
{
adiacenza* temp = malloc(sizeof(adiacenza));
temp->adiacente=a;
printf ("Ecco qui: %s\n", temp->adiacente->nome);
while(temp!=NULL)
{
if (strcmp(temp->adiacente->nome, nick)==0)
return temp->adiacente;
temp = temp -> next;
}
return NULL;
}
Inutile dire che il segfault ora va sulla printf e se la togliessi va sulla strcmp...
allora ragazzi, andiamo con calma..ripartiamo da zero...se il seg faul è sulla printf vuol dire che temp->adiacente->nome ha contenuto random, oppure che temp->adiacente ha contenuto random, quindi
io come inizio stamperei a ed il suo contentuto (presumo a->nome)
poi se levi la printf, ti entra nel ciclo while? ti esegue l'if?? presumo di si visto che dici l'errore ti si sposterebbe sulla strcmp..cioè sul contenuto di temp->adiacente..
Johnny88 io uso visita in ampiezza di un grafo..
Posto le mie strutture amico e adiacenza.. e confido nel tuo aiuto darkshadow!!
typedef struct adiacenza
{
struct amico* adiacente;
struct adiacenza* next;
struct adiacenza* prev;
} adiacenza;
typedef struct amico
{
char *nome;
struct adiacenza *adiacenza;
struct amico *next,*prev;
int visited;
int stato_amicizia;
}amico;
__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."
*Dante*
Originally posted by Gehur
Johnny88 io uso visita in ampiezza di un grafo..
be certo..la visita in ampiezza calcola il cammino minimo da un nodo a tutti gli altri nodi raggiungibili..ma non hai il libro??
| All times are GMT. The time now is 01:44. | Pages (28): « First ... « 19 20 21 22 [23] 24 25 26 27 » ... Last » Show all 417 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.