mmh...dici che la funzione () somma non va, ma non hai postato il codice...
supposto che somma() non faccia altro che sommare dei numeri,
e, in particolare, somma(n1, n2) = n1 + n2:
spero di essere stato utilecodice:/* Dovrebbe andare, ma puoi anche non fare caso ai vari * cambiamenti nella funzione minimo() */ int minimo(int i, int *c, int *r) { int j; int min; char flag; int testgt; /* Questa č un'aggiunta. */ int sum; /* Anche questa. */ min = -1; for (j = 0; j < (nodi - 1); j++) { flag = 0; testgt = i < j ? 1 : 0; /* La somma. */ sum = (testgt) ? (l[i + 1][j + 1].dato + Dvec[j].dato) : (l[j +1 ][i + 1].dato + Dvec[j].dato); min = minore(sum, min, &flag); (testgt) ? printf("se i < j %d\n", min) : printf("se i > j sono nell'else %d\n", min); (testgt) ? (*c = j + 1, (flag) ? (*r = i + 1) : 0) : (*c = i + 1, (flag) ? (*r = j + 1) : 0); } return min; } /* Dovrebbe essere corretta. */ int minore(int a, int b, char *flag) { if ((b != -1) && (a == 0 || !(a < b))) return b; *flag = 1; return a; }
___

) somma non va, ma non hai postato il codice...
:
Rispondi quotando