|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2005
Città: Napoli
Messaggi: 1661
|
[C] altri errori col dev c++
ciao ! .. ho questa funzione :
Codice:
int g_add(graph *G, int u, int v, int d)
{
edge *new,*e;
int trovato =0;
/*code*/
new = (edge*)malloc(sizeof(edge));
if (new==NULL)
printf("ERRORE: impossibile allocare memoria \n");
else
{
new->key=v;
new->dist=d;
new->next=NULL;
if (G->adj[u] == NULL) /*il nodo u non ha archi */
G->adj[u] = new;
else
{
e=G->adj[u];
if (e->key != v) /*controllo sul primo nodo*/
{
while ((e->next!=NULL) && (trovato == 0))
{
if (e->next->key == v)
{ /*controllo dal secondo nodo*/
trovato =1;
distanza = e->next->dist;
}
else
e=e->next;
}
if (trovato == 0)
e->next=new;
}
else trovato =1;
}
}
return trovato;
}
In function `int g_add(graph *, int, int, int)': 116: parse error before `new' 119: parse error before `=' 120: parse error before `==' 128: parse error before `;' 132: `e' undeclared (first use this function) 132: (Each undeclared identifier is reported only once 132: for each function it appears in.) 145: parse error before `;' 149: confused by earlier errors, bailing out le strutture sono Codice:
typedef struct edge
{
int key;
int dist;
struct edge *next;
} edge;
typedef struct graph
{
int nv; /* numero di vertici del grafo */
edge **adj; /* vettore con le liste delle adiacenze */
} graph;
struct rec
{
int key;
int numero;
char nome [70];
int ore;
int fatturato;
struct rec *next;
};
__________________
Ultima modifica di Tony Hak : 04-12-2007 alle 13:33. |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Feb 2006
Messaggi: 134
|
new è una parola chiave del C, non puoi chiamare così una variabile...
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jun 2005
Città: Napoli
Messaggi: 1661
|
grazie mille..era quello il motivo .. pero' sai ... questo programma è uan riscrittura in ordine del vecchio .. e col vecchio girava..mah ... cmq grazie ancora e scusate queste domande banali ma sono nuovo nel campo
__________________
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2005
Città: Napoli
Messaggi: 1661
|
ciao ! voglio evitare di aprire altri post ..
in pratica quando passo un puntatore al primo elemento di una lista in una funzione mi viene restituito lo stasso puntatore che pero' non punta piu' al primo elemento .. com'e' possibile ???? ora vi spiego meglio : ho il seguente codice Codice:
switch (sceltamenu)
{
case 1:
{
printf ("\nQuante citta' vuoi inserire? ");
scanf ("%d",&numc);
grafo = g_empty(numc);
lista = crea_lista(numc);
p=lista;
collegamenti (grafo,numc,p);
}break;
case 2:
{
aggiuntacoll (grafo,numc,p);
}break;
}
ecco ...
__________________
Ultima modifica di Tony Hak : 05-12-2007 alle 10:45. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2789
|
Dovresti postare tutto il codice altrimenti non si capisce.
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jun 2005
Città: Napoli
Messaggi: 1661
|
posto il codice della funzione chiamante
come puoi ben vedere ..lista non viene assolutemente menzionata .. .
__________________
Ultima modifica di Tony Hak : 06-12-2007 alle 11:15. Motivo: ho levato il codice perche' questo è un esercizio per l'universita' |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2789
|
Ma alla fine dove punta lista?
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Jun 2005
Città: Napoli
Messaggi: 1661
|
al primo elemento ... solo che dp la funzione che ti ho scritto punta a NULL ..
__________________
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jun 2005
Città: Napoli
Messaggi: 1661
|
Quote:
__________________
|
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Jun 2005
Città: Napoli
Messaggi: 1661
|
questa volta giuro che è una vera stranezza
Codice:
do
{
printf ("\n----------------------------------------");
printf ("\n| |");
printf ("\n| MENU |");
printf ("\n| |");
printf ("\n----------------------------------------");
printf ("\n");
printf ("\n(-1-) Aggiungi collegamento\n");
scanf ("%d",&sceltam);
}while (sceltam != 1);
switch (sceltam)
{
case 1:
{
numc = aggiuntacoll(grafo,numc,lista);
printf ("\nNUMCITTA %d",numc);
break;
}
}
__________________
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
L'identificatore "sceltam" di che tipo è?
Cioè, l'hai dichiarato di tipo int, vero? |
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Jun 2005
Città: Napoli
Messaggi: 1661
|
Quote:
Codice:
printf ("\n----------------------------------------");
printf ("\n| |");
printf ("\n| MENU |");
printf ("\n| |");
printf ("\n----------------------------------------");
printf ("\n");
printf ("\n(-1-) Aggiungi collegamento\n");
printf ("\n(-2-) Rimozione collegamento\n");
scanf ("%d",&sceltam);
switch (sceltam)
{
case 1:
{
numc = aggiuntacoll(grafo,numc,lista);
break;
}
case 2:
{
rimozionecoll (grafo,numc,lista);
break;
}
}
__________________
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:25.




















