#include <stdio.h>

void imprime_matriz(int matriz[3][3]) {
	/* Función que imprime en pantalla una matriz 3x3. */
	int i, j;
	
	for(i = 0; i < 3; ++i) {		// Columna i.
		for(j = 0; j < 3; ++j) {	// Fila j.
			printf("%d ", matriz[i][j]);
		}
		printf("\n");	// Imprime una línea en blanco cada vez que se
				// termina de imprimir una fila.
	}
}

int main() {
	int matriz1[3][3] = {
		{2, 3, 7},
		{8, 7, 4},
		{4, 9, 5}
	};
	int matriz2[3][3] = {
		{1, 6, 0},
		{9, 5, 2},
		{1, 9, 3}
	};
	int resultado[3][3] = {	// Inicializamos los elementos dela matriz
		{0, 0, 0},	// resultado a 0, para poder realizar el
		{0, 0, 0},	// sumatorio que calcula cada elemento.
		{0, 0, 0}
	};
	int a, b, c;
	
	for(c=0; c < 3; ++c) {	// Bucles que efectúan la multiplicación.
		for(b=0; b < 3; ++b) {
			for(a=0; a < 3; ++a) {
				resultado[c][b] += matriz1[c][a] * matriz2[a][b];
			}
		}
	}
	printf("Matriz 1:\n");
	imprime_matriz(matriz1); printf("\n- Matriz 2:\n");
	imprime_matriz(matriz2); printf("\n- Matriz resultado:\n");
	imprime_matriz(resultado); printf("\n");
	
	return 0;
}
