#include "operazioneVettori.h" #define NMAX 50 //IMPLEMENTO LA PRIMA FUNZIONE int prodottoScalare(int primoVettore[50],int secondoVettore[50],int dim){ int prodScal = 0; for(int i=0; i<dim; i++) { prodScal += primoVettore[i] * secondoVettore[i]; } return prodScal; } //IMPLEMENTO LA SECONDA FUNZIONE void prodottoRigaColonna(int primaMatrice[50][50], int secondaMatrice[50][50], int matRigCol[50][50], int rigcol, int rigaprimamatrice, int colonnasecondamatrice) { //HO BISOGNO DI TRE FOR PER SCORRERE for(int i=0; i<rigaprimamatrice; i++){ //FOR LENTO PER LA PRIMA MATRICE for(int j=0; j<colonnasecondamatrice; j++){ //FOR UN PO MENO LENTO PER LA SECONDA MATRICE for(int k=0; k<rigcol; k++){ //FOR VELOCE PER ESEGUIRE IL PRODOTTO SCALARE (GLI INDICI DELLE DUE MATRICI DEVONO ANDARE DI PARI PASSO) matRigCol[i][j] += primaMatrice[i][k] * secondaMatrice[k][j]; } } } //STAMPA MATRICE DEL PRODOTTO RIGA COLONNA for(int i=0; i<rigaprimamatrice; i++) { for(int j=0; j<colonnasecondamatrice; j++){ printf("%d",matRigCol[i][j]); } printf("\n"); } }