Interschimbul de variabile este echivalentul cu interschimbul conținutului a două borcane A și B, borcanul A care conține ulei și celălalt, borcanul B, care conține apă. În final trebuie ca borcanul B să conțină ulei și borcanul A să conțină apă. Evident este nevoie de un al treilea vas temporar, TEMP care va prelua conținutul borcanului A. O dată golit borcanul A, în el va fi vîrsat borcanul B. Vasul temporar va fi vărsat în borcanul B golit deja de apă.
SUBROUTINE SCHIMB(A,B)
TEMP=A
A=B
B=TEMP
RETURN
END
Aceeași operație se realizează și pentru vectorii X și Y de câte N componente, obținând subprogramul:
SUBROUTINE SCHVEC(X,Y,N)
DO 10 I=1,N
TEMP=A(I)
A(I)=B(I)
B(I)=TEMP
10 CONTINUE
RETURN
END
Pentru interschimbul elementelor din două matrice A și B fiecare având N linii și M coloane se va scrie subprogramul:
SUBROUTINE SCHMAT(A,B,M,N)
MAXAIJ=A(1,1)
DO 10 I=1,N
DO 10 J=1,N
TEMP=A(I,J)
A(I,J)=B(I,J)
B(I,J)=TEMP
10 CONTINUE
RETURN
END
Aici se vede cum se obține generalizarea de la interschimb de elemente, la interschimb de vectori și apoi la interschimb de matrice, continuarea fiind aceeași pentru masivele multidimensionale.
(04 ianuarie 2017)
No comments:
Post a Comment