Multiplicación de Matrices

diego ramos
28 de Marzo del 2009
Hola, voy iniciando mi carrera en programación y recientemente el profesor nos dejo un programa el cual calcule el resultado de la multiplicación de una matriz M1 por una matriz M2, asignando el resultado a una tercera matriz M3, ya está hecho, y corre perfectamente bien, lo que no entiendo es como están funcionando los for anidados y porque se cambian las variables dentro de los corchetes, el código es el siguiente :

#include<stdio.h>

int a[2][2]={{1,0},{3,2}};
int b[2][2]={{2,2},{0,5}};
int c[2][2]={{0,0},{0,0}};
int i, j, k;

int main(){

for(i=0;i<2;i++){
for(j=0;j<2;j++){
for(k=0;k<2;k++){
c[i][j]+=a[i][k]*b[k][j];
}
printf("%i ",c[i][j]);
}
printf("n");


}
}


Quisiera saber si me podrían explicar como funciona por favor se los agradecería bastante. GRACIAS.