View Single Post
Old 05-02-2009, 16:38   #3
Zero-Giulio
Member
 
Iscritto dal: May 2007
Messaggi: 292
non c'è pace per i dannati

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...)
Zero-Giulio è offline   Rispondi citando il messaggio o parte di esso