Uff, si, certo hai ragionissima.
Ok, modificato, e...
Non mi da più errore. Mi fa strano, se fosse mancata la memoria sarebbe dovuto uscire il msg di errore, invece adesso funzia tutto. Allora perchè prima il programma si comportava in modo strano (allocando solo 60 posizioni?).
Boh, vabbè, almeno quella funzione ora gira.
Adesso, purtroppo, ho problemi con la funzione dopo.
Stralcio di codice (anche qui, solo allocazione di memoria):
Quote:
printf ("dentro1");
system ("PAUSE");
M1=(double **) malloc ((num_edges+1)*sizeof (double *));
if (M1 == NULL)
{
printf ("\nError: no memory available for M1 matrix.\n");
return 0;
}
printf ("dentro2");
system ("PAUSE");
for (i=1; i<=num_edges; i++)
{
M1 [i]=(double *) malloc ((num_edges+1)*sizeof (double));
if (M1 [i] == NULL)
{
printf ("\nError: no memory available for M1 matrix (colomn %ld).\n", i);
return 0;
}
}
|
Qui il programma si interrompe.
Stampa a video "dentro1", quindi prima della prima malloc, ma non stampa a video "dentro2".
Si interrompe.
Anche qui, suggerimenti?
(sono depresso...)