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) enddo do i=1, m2 read(21,*)(b(i,j), j=1,m2) enddo 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