Está en la página 1de 2

program matrices

implicit none
real, dimension(100,100)::a,b,c !matriz de dimensiones n (filas) x m (columnas)
Integer::i,n,l !filas
Integer::j,m !columnas
!Sección de lectura
write(*,*)'Programa para multiplicar o sumar matrices '
write(*,*)'Escriba 1 para sumar o 2 para multiplicar'
read(*,*)l
SELECT CASE (l)
case(1)
write(*,*)'Indica cuantas filas tiene la matriz'
read(*,*)n
write(*,*)'Indica cuantas columnas'
read(*,*)m
!Matriz A
Do i=1,n
Do j=1,m
write(*,*)'Ingresa el valor A(',i,j,')'
read(*,*)a(i,j) !lectura
End do
End do
!Matriz B
Do i=1,n
Do j=1,m
write(*,*)'Ingresa el valor de B(',i,j,')'
read(*,*)b(i,j)
End Do
End Do
!Operacón de suma de matrices
Do i=1,n
Do j=1,m
c(i,j)=a(i,j)+b(i,j)
End do
End do
!Seccion de impresion de resultados
write(*,*)'El resultado de la suma de la matriz A+B es'
Do i=1,n
Do j=1,m
write(*,*)c(i,j)
End do
End do
write(*,*)'***************************'
write(*,*)'matriz A'
Do i=1,n
write(*,*)(a(i,j),j=1,m)
end do
write(*,*)'matriz B'
Do i=1,n
write(*,*)(b(i,j),j=1,m)
end do
write(*,*)'matriz C;'
Do i=1,n
write(*,*)(c(i,j),j=1,m)
end Do
case(2)
write(*,*)'Indica cuantas filas tienen las matrices'
read(*,*)n
write(*,*)'Indica cuantas columnas'
read(*,*)m

!Matriz A
Do i=1,n
Do j=1,m
write(*,*)'Ingresa el valor A(',i,j,')'
read(*,*)a(i,j) !lectura
End do
End do
!Matriz B
Do i=1,n
Do j=1,m
write(*,*)'Ingresa el valor de B(',i,j,')'
read(*,*)b(i,j)
End Do
End Do
!Operacón de multiplicacion de matrices
Do i=1,n
Do j=1,m
c(i,j)=a(i,j)*b(j,i)
End do
End do
!Seccion de impresion de resultados
write(*,*)'El resultado de la multiplicacion de la matriz A*B es'
Do i=1,n
Do j=1,m

write(*,*)c(i,j)
End do
End do
write(*,*)'***************************'
write(*,*)'matriz A'
Do i=1,n
write(*,*)(a(i,j),j=1,m)
end do
write(*,*)'matriz B'
Do i=1,n
write(*,*)(b(i,j),j=1,m)
end do
write(*,*)'matriz C;'
Do i=1,n
write(*,*)(c(i,j),j=1,m)
end Do
case default
write(*,*)'Error, ingresa un numero valido'
End select
End program matrices

También podría gustarte