miércoles, 20 de mayo de 2009

[Código C] Multiplicación de matrices

Aqui pongo la rutina en C que clacula el producto de dos matrices A y B, y guarda el resultado en C. Las matrices ya deben tener asignada la memoria necesaria (tambien la matriz C):

[sourcecode language="cpp"]void multiplicacion(float **A,float **B,float **C,int n1,int n2,int n3)
{
//Funcion que calcula C=AxB, donde
// A es de n1xn2
// B es de n2xn3
//C entonces es de n1xn3
int i,j,k;
//Inicializa C
for(i=0;i<n1;i++)
for(j=0;j<n3;j++)
C[i][j]=0;
//Calcula los elementos de C
for(i=0;i<n1;i++)
for(j=0;j<n3;j++)
{
for(k=0;k<n2;k++)
C[i][j]=C[i][j]+A[i][k]*B[k][j];
}
}[/sourcecode]

No hay comentarios:

Publicar un comentario