[C] Prodotto scalare!

Ster24
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:



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
Michele/9611
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

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.