TheRT0C ha scritto:
Inizia a postare un'idea e vediamo insieme se è fatta bene. Naturalmente sai cos'è un grado entrate e uscente no? la soluzione del massimo grado uscente è abbastanza intuitiva, inizia da quella.
Ma se io voglio stampare il grado uscente ed entrante di ogni vertice cosi e corretto solo che è iterativo
void grado(struct TList *G[], int W[MAX][2], int n) {
int i, j;
/* inzialiazzo la matrice con tutti gli elementi a zero */
for (i=0; i<n; i++) {
for (j=0; j<2; j++) {
W[i][j]=0;
}
}
struct TList *p;
for (i=0; i<n; i++) {
p = G[i];
while (p != NULL) {
W[i][1]++; /* incremento di 1 il numero di nodi uscenti "OUT" */
W[p->target][0]++; /* incremento di 1 il numero di nodi entranti "IN" */
p = p->next;
}
}
return;
}
/* stampa matrice di interi */
void stampa_grado(int W[MAX][2], int n){
int i, j;
for (i=0;i<n;i++) {
printf("stampo grado IN e OUT nodo %d: ", i);
for (j=0; j<2; j++) {
printf("%d ", W[i][j]);
}
printf("\n");
}
return;
}