[Tech] Ancora non va :(

Claudio Kutufà claudiok@nexusfi.it
Mer 9 Giu 2004 18:18:39 CEST


At 18.08 09/06/04 +0200, you wrote:
>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.

è vero !!!!!!!! me ne ero completamente dimenticato ! (a volte non è folle, 
serve con le espressioni condizionali, ma nonostante lo ami il C può far 
perdere la treebisonda) con la modifica che avevo fatto io:  [i*j] (dato 
che il mio compilatore non digeriva il:  [i,j]  il problema veniva 
eliminato e mi dava risultati giusti....



>Ciao
>Simone
>
>
>_______________________________________________
>FLUG - Discussioni tecniche - tech@firenze.linux.it
>URL: http://lists.firenze.linux.it/mailman/listinfo/tech
>Archivio: http://lists.firenze.linux.it/pipermail/tech
>Ricerca nell'archivio: http://www.firenze.linux.it/search


_____________________________________________________________

Ing. Claudio Kutufa'
NEXUS SISTEMI INFORMATIVI S.P.A.
e-mail personale: claudiok@nexusfi.it
tel. cellulare: 335 5859567
Sede Oper.va : Via Dante da Castiglione, 33
Tel. : +39 055 229413 Fax : +39 055 229785
50125 Firenze - Italy
Sede Amm.va : Via Panciatichi 40/11
Tel. : +39 055 4222030 Fax : +39 055 4376670
50100 Firenze - Italy
Nexus home page: www.nexusfi.it
_____________________________________________________________




Maggiori informazioni sulla lista flug-tech