Prodotto di matrici

di il
1 risposte

Prodotto di matrici

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);
}

1 Risposte

  • Re: Prodotto di matrici

    In ProdottoMatrice utilizzi la variabile j prima che sia inizializzata. E' già tanto non vada in crash.
Devi accedere o registrarti per scrivere nel forum
1 risposte