Juan Alberto
Juan Alberto

Reputation: 3

Error: Unclassifiable statement at (1) fortran

How could I fix the Unclassifiable statement error in the if () to go? The error is in

 DO J=1,N
    IF ( I .EQ. J )GO TO 3
    Y=Y-A( I , J )*X( J )
 3 END DO

    program gausssiedel
          INTEGER, PARAMETER :: M=100
          INTEGER :: NMI, IJK , ITER, I , J
          real , dimension (M,M) :: A
          REAL,DIMENSION(M) :: B,X
          
          WRITE(6 , * ) 'ECUACIONES DE ENTRADA. '
          OPEN(2 ,FILE= 'datos . dat ' ,STATUS='OLD' )
          READ(2 , * )N,NMI,NAPROX ! LEE DATOS DEL ARCHIVO DE ENTRADA
          APROX=10.0**(-NAPROX)
          
          DO I =1,N
          READ( 2 , * ) (A( I , J ) , J=1,N) ,B( I )
          WRITE( 6 , * ) (A( I , J ) , J=1,N) ,B( I )
          END DO
          CLOSE (2)
          
          DO I =1,N
             X( I ) = 0.0 ! PRIMERA APROXIMACION DE LA SOLUCION
          END DO
          
          WRITE(6 , * ) 'RESULTADOS'
          WRITE( * , * ) ! IMPRIME RESULTADOS
          DO ITER=1,NMI
             WRITE( * , * )ITER , (X( J ) , J=1,N)
             IJK = 0
             DO I =1,N
                Y=B( I )
                DO J=1,N
                   IF ( I .EQ. J )GO TO 3
                   Y=Y-A( I , J )*X( J )
              3 END DO
                    Y=Y/A( I , I )
                    IF (ABS( (X( I)-Y)/Y ) .GT.APROX) IJK=1
                    X( I ) = Y
             END DO
                   IF ( IJK .EQ.0 )GO TO 6
          END DO
          WRITE( * , * ) 'NUMERO DE ITERACIONES:  ' ,NMI
        6 CONTINUE
          pause
          
          end program

Upvotes: 0

Views: 409

Answers (1)

evets
evets

Reputation: 1026

What do you expect the do-loop to do? Are you just trying to skip the i == j value or exit the do-loop. You can achieve both without labeling the end do statement.

Skip the i == j case:

DO J=1,N
  IF ( I .EQ. J ) cycle
  Y=Y-A( I , J )*X( J )
END DO

Exit the loop case:

DO J=1,N
  IF ( I .EQ. J ) exit
  Y=Y-A( I , J )*X( J )
END DO

Upvotes: 2

Related Questions