Monday, December 25, 2017

Interschimb a două linii din matrice

Fiind dată matricea A cu m linii și n coloane se pune problema interschimbului dintre coloanele ICOL1 și ICOL2.


         SUBROUTINE ADMAT (A,M,N,LIN1,LIN2)
         DO 10 J=1,N
         AUX=A(LIN1,J)
         A(LIN1,J)=A(LIN2,J)
         A(LIN2,J)=AUX
10     CONTINUE
         RETURN
         END
Sublrogramul dacă verifică dacă ICOL1 și ICOL2 sunt valori în afara matricei mai presupune definirea unei variabile IK =0 dacă valorile sunt incorecte, adică sunt fie negative, fie mai mari decât numărul de linii ale matricei și IK=1 dacă valorile sunt corecte și s-a săcut interschimbul.


         SUBROUTINE ADMAT (A,M,N,LIN1,LIN2, IK)
         IK=0
         IF((LIN1.LE.0).OR.(LIN1.GT.M).OR.(LIN2.LE.0).OR.(LIN2.GT.M)) GO TO 20
         DO 10 J=1,N
         AUX=A(LIN1,J)
         A(LIN1,J)=A(LIN2,J)
         A(LIN2,J)=AUX
10     CONTINUE
         IK=1
20     RETURN
         END

(25 decembrie 2017)

No comments:

Post a Comment