	program mulmat
	implicit none
	real*8	a(3,2), b(2,3), c(3,3), d(3,3)
	integer m, n, p
	
	open(unit=50, file='matriz_a.dat', status='old')
	open(unit=51, file='matriz_b.dat', status='old')
	open(unit=52, file='matriz_c.dat', status='replace')

c	Definiendo como 0 todos los elementos de la matriz c	
	c=0
	
c	Lectura de matriz a
	do m = 1,3
	  read(50,*) a(m,:)
	end do
	
c	Lectura de matriz b
	do n = 1,2
	  read(51,*) b(n,:)
	end do
	
c	Multiplicacion de Matrices
	do m = 1,3
	  do n = 1,2
	    do p = 1,3
	      c(m,p) = a(m,n)*b(n,p) + c(m,p)	
	    end do
	  end do
	end do

c	Creacion de formato
!37	format(F8.2,F8.2,F8.2)
37	format(3(F8.2))
!38	format(E10.2,E10.2,E10.2)
38	format(E10.2E1,E10.2E1,E10.2E1)
39	format(ES10.2,ES10.2,ES10.2)
!39	format(ES10.2E1,ES10.2E1,ES10.2E1)
40	format(EN10.2,EN10.2,EN10.2)
!40	format(EN10.2E1,EN10.2E1,EN10.2E1)
41	format(E10.2,ES10.2,EN12.2)
	
c	Escritura de resultado de multiplicacion en archivo
	write(52,*) 'Resultado de la multiplicacion'
	do m = 1,3
	  write(52,37) c(m,:)
	end do	

c	Comprobacion con comando multiplicar matrices
	d = matmul(a,b)	

c	Escritura de la comprobacion en archivo
	write(52,*)
	write(52,*) 'Este es el resultado obtenido con matmul'
	do m = 1,3
	  write(52,41) d(m,:)
	end do
	



	
	end program
	
	
	
