program GAUSS
implicit none
!seccion de variables
integer::n1,m1,n2,m2, i, j, mult, l, det, k, suma
real(8),allocatable,dimension(:,:):: A, B, C, D, resultad, x
!lectura de datos
open(unit=21, file="matriz.entrada", status="unknown")
read (21,*)m1, m2, n1, n2
allocate (A(m1,N1), b(m2,n2), c(m1,n1), d(m1,n1), resultad(m1,n2))
do i=1,m1
read(21,*)(a(i,j), j=1,m1)
end do
do i=1, m2
read(21,*)(b(i,j), j=1,m2)
end do
close (21)
do k=1,n1
do i=k+1,n1
do j=k+1,m1
a(i,j)=a(i,j) - (a(k,j)/a(k,k))*a(i,k)
END do
END do
end do
do i=1,3
WRITE(*,*) (a(i,j), j=1,4)
END do
do i=n1,1,-1
IF(i==3)then
x(i)= a(n1,m1)/a(n1,n1)
else
suma=0
do j=i+1,n
suma=suma+a(i,j)*x(j)
end do
x(i)= (a(i,m1)-(suma))/a(i,i)
END if
end do
do i=1,3
WRITE(*,*) "x",i,"=", x(i)
end do
!impresion de resultados
open(unit=31, file="matriz.salida", status="unknown")
write (31,*) m1, n1, m2, n2
write(31,*) "_____________________________________________________________"
do i=1, m1
write(31,*) (a(i,j), j=1,m1)
enddo
write(31,*) "_____________________________________________________________"
do i=1, m1
write(31,*) (b(i,j), j=1,m1)
enddo
end program GAUSS
Descarga el codigo fuente
Pagina Principal del sitio Regresar al menu de Codigo fuente en FORTRAN