[C] Prodotto scalare!
Salve, mi trovo in difficoltà con un esercizio. Questo mi chiede di leggere da un file di testo una matrice e un vettore e mi chiede infine di calcolare il prodotto scalare tra le colonne della matrice e il vettore dato. Nel momento in cui eseguo il programma, nel prodotto scalare mi escono valori non corretti. Di seguito il codice:
E di seguito il codice completo:
Vi ringrazio anticipatamente.
printf("\nIL PRODOTTO SCALARE TRA IL VETTORE E LE COLONNE ANALIZZATE E': \n"); for(j=0; j<colonne; j++){ for(i=0; i<righe; i++){ ps[j]+=matrice[i][j]*vettore[i]; } } for(i=0; i<colonne; i++){ printf("%.1f",ps[i]); }
E di seguito il codice completo:
Vi ringrazio anticipatamente.
Risposte
Ciao,
probabilmente quando calcoli il prodotto scalare dovresti fare
ps[j] +=matrice[j] * vettore
invece che
ps[j] +=matrice[j] * vettore
dal momento che j indica le colonne dovresti selezionare la colonna con il primo for e riga ed elemento dell' array con il secondo for, poi ovviamente dipende da come intendi la matrice(essendo un' astrazione) però a prima vista mi pare un errore di battitura, spero di esserti stato utile,
Saluti
probabilmente quando calcoli il prodotto scalare dovresti fare
ps[j] +=matrice[j] * vettore
invece che
ps[j] +=matrice[j] * vettore
dal momento che j indica le colonne dovresti selezionare la colonna con il primo for e riga ed elemento dell' array con il secondo for, poi ovviamente dipende da come intendi la matrice(essendo un' astrazione) però a prima vista mi pare un errore di battitura, spero di esserti stato utile,
Saluti