Buonasera, devo fare un programma che calcola il prodotto di due matrici, il problema è che non funziona per tutti gli elementi, alcuni sono giusti, altri non vengono calcolati. L'inserimento e la visualizzazione delle singole matrici funzione, riporto solo il codice del prodotto:
void ProdottoMatrice(matrice matProd, matrice mat1, matrice mat2, int riga, int colonna, int rigcol){
int i,j,k;
for(i=0;i<riga;i++){
matProd[i][j]=0;
for(j=0;j<colonna;j++){
for(k=0;k<rigcol;k++){
matProd[i][j]+=mat1[i][k]*mat2[k][j];
}
}
}
}
main(){
int rig1, col1;
int rig2, col2;
int rigprod, colprod;
int rigcol;
matrice Matrice1, Matrice2, MatriceSomma, MatriceProdotto;
printf("Inserimento della prima matrice: \n");
Inserimento(Matrice1, &rig1, &col1);
printf("Inserimento della seconda matrice: \n");
Inserimento(Matrice2, &rig2, &col2);
printf("\nMatrice1: \n");
Stampa(Matrice1, rig1, col1);
printf("\nMatrice2: \n");
Stampa(Matrice2, rig2, col2);
rigprod=rig1;
colprod=col2;
rigcol=col1;
if(col1==rig2){
ProdottoMatrice(MatriceProdotto, Matrice1, Matrice2, rigprod, colprod, rigcol);
printf("La matrice prodotto e\': \n");
Stampa(MatriceProdotto, rigprod, colprod);
}
else{
printf("Non e\' possibile moltiplicare le due matrici \n");
}
system("pause");
return(0);
}