Télécharger doublo.eso

Retour à la liste

Numérotation des lignes :

doublo
  1. C DOUBLO SOURCE PV 06/03/31 21:03:52 5366
  2. SUBROUTINE DOUBLO(IEN,IND,NC,N, NF,IDU)
  3. C_______________________________________________________________________
  4. C
  5. C DETECTION DE DOUBLON DANS UNE LISTE DE NC-UPLET
  6. C
  7. C Entrees:
  8. C --------
  9. C IEN=COLLECTION DE N NC-UPLET PARAMETRES CARACTERISTIQUES
  10. C IND=ORDRE INITIAL DANS IEN
  11. C
  12. C Sorties:
  13. C --------
  14. C NF =NOMBRE DE NC-UPLET DIFFERENT
  15. C IDU=NOMBRE DE DOUBLON ASSOCIE A CHAQUE NC-UPLET DIFFERENT
  16. C IEN=COLLECTION DES NC-UPLET DIFFERENT
  17. C IND=ORDRE FINAL DES IDEX DES NC-UPLET
  18. C
  19. C Appele par: NLOVEP
  20. C -----------
  21. C
  22. C P.PEGON 9/11/92
  23. C_______________________________________________________________________
  24. C
  25.  
  26. IMPLICIT INTEGER(I-N)
  27. DIMENSION IND(N),IEN(NC,N),IDU(N)
  28. LOGICAL LOK
  29. C
  30. C INITIALISATION
  31. C
  32. NF=1
  33. IDU(1)=1
  34. IF (N.EQ.1)RETURN
  35. C
  36. C MISE EN ORDRE DES NC-UPLET
  37. C
  38. C
  39. DO IR=1,N-1
  40. DO IA=IR+1,N
  41. LOK=(IA.EQ.IA)
  42. DO IC=1,NC
  43. LOK=LOK.AND.(IEN(IC,IA).EQ.IEN(IC,IR))
  44. ENDDO
  45. IF (LOK)THEN
  46. IDUM=IND(IR+1)
  47. IND(IR+1)=IND(IA)
  48. IND(IA)=IDUM
  49. DO IC=1,NC
  50. IDUM=IEN(IC,IR+1)
  51. IEN(IC,IR+1)=IEN(IC,IA)
  52. IEN(IC,IA)=IDUM
  53. ENDDO
  54. GOTO 1
  55. ENDIF
  56. ENDDO
  57. 1 CONTINUE
  58. ENDDO
  59. C
  60. C DETECTION DES DOUBLONS
  61. C
  62. DO IR=2,N
  63. LOK=(IR.EQ.IR)
  64. DO IC=1,NC
  65. LOK=LOK.AND.(IEN(IC,NF).EQ.IEN(IC,IR))
  66. ENDDO
  67. IF(LOK)THEN
  68. IDU(NF)=IDU(NF)+1
  69. ELSE
  70. NF=NF+1
  71. IDU(NF)=1
  72. DO IC=1,NC
  73. IEN(IC,NF)=IEN(IC,IR)
  74. ENDDO
  75. ENDIF
  76. ENDDO
  77. C
  78. RETURN
  79. END
  80.  
  81.  
  82.  

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