Télécharger rajout.eso

Retour à la liste

Numérotation des lignes :

  1. C RAJOUT SOURCE CHAT 05/01/13 02:44:51 5004
  2. C**************************************************************************
  3. C**************************************************************************
  4. C**************************** ***************************
  5. c************************ RAJOUTE ***********************
  6. c**************************** ***************************
  7. C**************************************************************************
  8. C**************************************************************************
  9. C cette procedure permet de RAJOUTER un element de fus dans les voisins
  10. C de X. Elle decale donc toute la gestion de donnees ,notemment
  11. C NPVOIS(J,1),NPVOIS(J,2) pour J>X,afin de pouvoir inserer l' element
  12. C a la position convenable.
  13.  
  14.  
  15. SUBROUTINE RAJOUT(IFUS,X,NPVOIS,NVOIS,NBENS)
  16.  
  17.  
  18. IMPLICIT INTEGER(I-N)
  19. SEGMENT NPVOIS(0),NVOIS(0)
  20. INTEGER NBENS
  21. INTEGER X
  22. SEGMENT IFUS(0)
  23.  
  24. INTEGER COMPT
  25.  
  26. COMPT=2
  27. N=NPVOIS(X)
  28. C indice minimal des voisins de X.
  29.  
  30. 100 IF (IFUS(1).GE.(COMPT-1)) THEN
  31.  
  32. IF (NPVOIS(X+1).GT.N) THEN
  33. C si on n'ecrase pas les voisins du noeud suivant.
  34. NVOIS(N)=IFUS(COMPT)
  35. C on peut alors rajouter l'element IFUS(COMPT).
  36.  
  37. ELSE
  38. C sinon il faut decaler tous les indicages des noeuds suivants.
  39. NVOIS(**)=NVOIS(NPVOIS(2*NBENS))
  40. DO 200 I=NPVOIS(2*NBENS)-1,N,-1
  41. NVOIS(I+1)=NVOIS(I)
  42. 200 CONTINUE
  43.  
  44. DO 250 I= X+1,NBENS
  45. NPVOIS(I)=NPVOIS(I)+1
  46. NPVOIS(I+NBENS)=NPVOIS(I+NBENS)+1
  47. 250 CONTINUE
  48.  
  49. NVOIS(N)=IFUS(COMPT)
  50. ENDIF
  51. N=N+1
  52. COMPT=COMPT+1
  53.  
  54. GOTO 100
  55. ENDIF
  56.  
  57. NPVOIS(X+NBENS)=N-1
  58. C on change l'indice maximal DE NPVOIS.
  59.  
  60. RETURN
  61. END
  62.  
  63.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales