Sunday, December 24, 2017

Ștergerea unui element din șir

Se consideră șirul x1, x2, x3, ..., xk, ...., xn cu n componente și se pune problema ștergerii elementului xk din șir, ceea ce va duce la faptul că șirul va avea n-1 elemente după aceea. Subprogramul verifică dacă poziția elementului ce trebuie șters este în șir. Variabila de stare IK=1 dacă ștergerea s-a efectuat sau IK=0 în caz contrar din cauză că elementul ce trebuie șters nu se află în interiorul șirului. Noul șir are NN componente.

         SUBROUTINE MAXIM (X,N,K, NN, IK)
         IK=0
         IF(K.LT.1.OR.K.GT.N) GO TO 20
         DO 10 I=K,N-1
         X(K)=X(K+1)
10     CONTINUE
         IK=1
         NN=N-1
20     CONTINUE
         RETURN
         END
Ștergerea unui element din șir are două abordări. Una distruge șirul, iar a doua crează un nou șir în care elementul șters dispare și lungimea șirului este maim mică cu 1.

         SUBROUTINE MAXIM (X,YN,K, NN, IK)
         IK=0
         IF(K.LT.1.OR.K.GT.N) GO TO 20
         DO 10 I=1,K-1
         Y(K)=X(I)

10     CONTINUE
         DO 20 I=K,N-1
         Y(K)=X(K+1)
10     CONTINUE
         IK=1
         NN=N-1
20     CONTINUE
         RETURN
         END



(24 decembrie 2017)

No comments:

Post a Comment