Programa de eliminação de gauss com pivoteamente parcial

250 palavras 1 página
program Eliminacao_de_Gauss_com_Pivoteamento_Parcial real a(50,50), b(50), maior, m, ax, X(50), soma integer i, j, n, k, L, y

print *,'Digite a ordem da matriz A (M x. de ordem 50):' read *,n print *,'Informe os valores do sistema (Matriz):' do i=1,n,1 do j=1,n,1 print *,'a(',i,j,')=' read *,a(i,j) end do print *,'b(',i,')=' read *,b(i) end do

do y=1,n-1,1 maior= a(y,y) do L=y+1,n,1 if (ABS(a(L,y)) .gt. ABS(maior)) then maior= a(L,y) k=L end if end do if (maior .ne. a(y,y)) then do j=y,n,1 ax= a(y,j) a(y,j)= a(k,j) a(k,j)= ax end do ax= b(k) b(k)= b(y) b(y)= ax end if do k=y+1,n,1 m= a(k,y)/a(y,y) do j=y,n,1 a(k,j)= a(k,j)-m*a(y,j) end do b(k)= b(k)-m*b(y) end do end do do i=1,n-1,1 X(i)=0 end do X(n)= b(n)/a(n,n) do i=n-1,1,-1 soma=0 do j= i+1,n,1 soma= soma+X(j)*a(i,j) end do X(i)=(b(i)-soma)/a(i,i) end do do i=1,n,1 print *,'X(',i,')=', X(i) end do stop

Relacionados