ICC - Programa que opera com duas matrizes A e B.
Implicit none
real:: MatrizA(4,4),MatrizB(4,4),MatrizTA(4,4),MatrizTB(4,4),Media_transp_b,Matriz_soma(4,4),Matriz_trans_soma(4,4) real:: med_transp_soma,Matriza_m_trans(4,4),Matrizb_m_trans(4,4),Matriz_s_m_t(4,4)
Integer:: M,N open (unit = 10, file = "dados_entr_matriza.txt") open (unit = 20, file = "dados_entr_matrizb.txt") open (unit = 30, file = "ICCT03YAGO113111677.txt") call obter_dimensoes(M,N) call obter_matrizA(MatrizA,M,N,10) call obter_matrizB(MatrizB,M,N,20) close(10) close(20) call calcular_transpA(MatrizA,MatrizTA,M,N) call calcular_transpB(MatrizB,MatrizTB,M,N) call media_matriztranspb(Media_transp_b,MatrizTB,M,N) call calcular_soma(MatrizA,MatrizB,Matriz_soma,M,N) call calcular_transp_soma(Matriz_trans_soma,Matriz_soma,M,N) call media_trans_soma(med_transp_soma,Matriz_trans_soma,M,N) call menos_transA(Matriza_m_trans,MatrizA,MatrizTA,M,N) call menos_transB(Matrizb_m_trans,MatrizB,MatrizTB,M,N) call soma_men_trans(Matriz_s_m_t,Matriz_soma,Matriz_trans_soma,M,N) call elementos_zero_a(MatrizA,M,N) call elementos_zero_b(matrizB,M,N) call elementos_zero(Matriz_soma,M,N) call elementos_positivos_a(MatrizA,M,N) call elementos_positivos_b(MatrizB,M,N) close(30) stop contains Subroutine obter_dimensoes(M,N)
Implicit none
Integer:: M,N
Write(*,*) "Informe os valores das dimensoes da matriz:(M,N)"
Read (*,*)M,N
End subroutine obter_dimensoes
Subroutine obter_matrizA(MatrizA,M,N,arquivo)
Implicit none
Integer::M,N,arquivo,i,j
Real:: MatrizA(M,N)
Write(*,*) "Obtendo as matrizes do arquivo",arquivo do i = 1,M
Read(arquivo,*)(MatrizA(i,j), j=1,N,1)
End do
End subroutine obter_matrizA
Subroutine obter_matrizB(MatrizB,M,N,arquivo)
Implicit none
Integer::M,N,arquivo,i,j
Real:: MatrizB(M,N)
Write(*,*) "Obtendo as matrizes do arquivo",arquivo do i = 1,M
Read(arquivo,*)(MatrizB(i,j), j=1,N,1)
End do
End subroutine obter_matrizB
Subroutine calcular_transpA(MatrizA,MatrizTA,M,N)
Implicit