[Tech] Ancora non va :(

Simone Piccardi piccardi@firenze.linux.it
Mer 9 Giu 2004 18:08:30 CEST


On Wed, 2004-06-09 at 16:35, Valerio Montagnani wrote:
> On Wed, 09 Jun 2004 15:29:06 +0200
> Simone Piccardi <piccardi@firenze.linux.it> wrote:
> 
> Guarda che a me funziona benissimo! 
> Ti mando direttamente alla tua casella di posta sorgente e eseguibile, cosė non si appesantisce la lista.
Ottenuto, e scusa per il disguido sul sorgente, avevo la versione
vecchia. 

Ti viene lo stesso per il semplice fatto che prima metti un certo valore
con

      matrice[i,j]=i*j;

e la riga sotto lo stampi con:

      printf("matrice[%d][%d]=%f\n",i,j,matrice[i,j]);

e siccome l'orgine in cui esegui le operazioni e` lo stessa e` ovvio che
ottieni lo stesso risultato; se pero' fai le cose indipendentemete, come
nel codice che ti allego, ottieni dei risultati ben diversi.

Nel caso ho messo le routine che riempiono separate dalla stampa: allora
puoi vedere anche da te cosa succede con la notazione matrice[i,j]:

address[0][0]=804a018
matrice[0][0]=0.000000
address[0][1]=804a01c
matrice[0][1]=2.000000
address[0][2]=804a020
matrice[0][2]=4.000000
address[1][0]=804a018
matrice[1][0]=0.000000
address[1][1]=804a01c
matrice[1][1]=2.000000
address[1][2]=804a020
matrice[1][2]=4.000000
address[2][0]=804a018
matrice[2][0]=0.000000
address[2][1]=804a01c
matrice[2][1]=2.000000
address[2][2]=804a020
matrice[2][2]=4.000000

Riaccedi sempre alle tre stesse locazioni di memoria e ci riscrivi
sopra. Non stai lavorando su una matrice ma su una riga. Questo perche`
i,j se ricordo bene e` semplicemente l'unione di due statement su una
sola riga, che restituisce il valore dell'ultimo (si il C ha di queste
follie) cioe` j. Quindi in realta` stai indicizzando solo su j. 

Ciao
Simone
-------------- parte successiva --------------
Un allegato non testuale č stato rimosso....
Nome:        valerio.c
Tipo:        text/x-csrc
Dimensione:  1151 bytes
Descrizione: non disponibile
URL:         <http://lists.linux.it/pipermail/flug-tech/attachments/20040609/88cda412/attachment.c>
-------------- parte successiva --------------
Un allegato non testuale č stato rimosso....
Nome:        valerio.c
Tipo:        text/x-csrc
Dimensione:  1151 bytes
Descrizione: non disponibile
URL:         <http://lists.linux.it/pipermail/flug-tech/attachments/20040609/88cda412/attachment-0001.c>


Maggiori informazioni sulla lista flug-tech