He creado el siguiente algoritmo para multiplicar matrices. Previamente hice algoritmos para leerlas y escribirlas que posteriormente utilizo, pero tras multiplicar las matrices, no me aparece el resultado de la multiplicación. Lo que tengo es lo siguiente:
void multiplica (Matriz *M1, Matriz *M2) {
Matriz M3;
int i,j,k,l;
M3.filas=M1->filas;
M3.columnas=M2->columnas;
k=0;
l=0;
i=0; j=0;
while (k<M3.filas) {
l=0;
while (l<M3.columnas) {
k=0;
M3.elem[k][l]=0;
l=l+1;
}
k=k+1;
}
k=0;
l=0;
while (k<M3.filas) {
l=0;
while (l<M3.columnas) {
k=0;
M3.elem[k][l]=M3.elem[k][l] + (M1->elem[i][j] * M2->elem[j][i]);
j=j+1;
l=l+1;
}
i=i+1;
k=k+1;
}
i=0;
j=0;
k=0;
l=0;
while (i<M3.filas) {
j=0;
while (j<M3.columnas) {
M2->elem[i][j]= M3.elem[k][l];
j=j+1;
l=l+1;
}
i=i+1;
k=k+1;
}
return;}
Gracias,