C INSER7 SOURCE CHAT 05/01/13 00:39:00 5004 SUBROUTINE INSER7 (MLMOTS,IEME,LEMOT,MLMOT1) ************************************************************************ * * I N S E R 3 * ----------- * * FONCTION: * --------- * * INSERER UN ELEMENT EN I-EME POSITION (ET NON PAS APRES LA I-EME * POSITION) DANS UN OBJET DE TYPE 'LISTMOTS'. * * MODE D'APPEL: * ------------- * * CALL INSER3 (IPOINT,IEME,LEMOT) * * PARAMETRES: (E)=ENTREE (S)=SORTIE * ----------- * * MLMOTS ENTIER (E) POINTEUR DE L'OBJET DE TYPE "LISTMOTS". * IEME ENTIER (E) POSITION D'INSERTION DE L'ELEMENT DANS * L'OBJET DE TYPE "LISTMOTS". * LEMOT ENTIER (E) ELEMENT INSERE (CHAINE DE 4 CARACTERES). * MLMOT1 ENTIER (E) POINTEUR DE L'OBJET DE TYPE "LISTMOTS". * * SOUS-PROGRAMMES APPELES: * ------------------------ * * ERREUR * * AUTEUR, DATE DE CREATION: * ------------------------- * * PASCAL MANIGOT 6 DECEMBRE 1984 * * LANGAGE: * -------- * * ESOPE + FORTRAN77 + EXTENSION: CARACTERES MIS DANS DES ENTIERS * ************************************************************************ * IMPLICIT INTEGER(I-N) -INC CCOPTIO -INC SMLMOTS CHARACTER*(*) LEMOT * SEGACT,MLMOTS LDIM = MOTS(/2) LDIM1 = LDIM + 1 * * * IF (0 .LT. IEME .AND. IEME .LE. LDIM1) THEN JGM=LDIM1 JGN=MOTS(/1) SEGINI MLMOT1 MLMOT1.MOTS(IEME) = LEMOT IF ( IEME .GT . 1 ) THEN DO 100 I=1 ,(IEME-1) MLMOT1.MOTS(I) = MLMOTS.MOTS(I) 100 CONTINUE ENDIF IF ( IEME .LT .LDIM1) THEN DO 110 I= IEME , LDIM MLMOT1.MOTS(I + 1 ) = MLMOTS.MOTS(I) 110 CONTINUE ENDIF SEGDES,MLMOT1 ELSE * INTERR(1) = IEME NUMERR = 36 CALL ERREUR (NUMERR) * END IF * SEGDES,MLMOTS * END