C INSER3 SOURCE CHAT 05/01/13 00:38:50 5004 SUBROUTINE INSER3 (MLMOTS,IEME,LEMOT) ************************************************************************ * * 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). * * 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 JGM=LDIM1 JGN=MOTS(/1) SEGADJ MLMOTS * * * IF (0 .LT. IEME .AND. IEME .LE. LDIM1) THEN IF ( IEME .LT .LDIM1) THEN DO 110 I= LDIM , IEME , -1 MLMOTS.MOTS(I + 1 ) = MLMOTS.MOTS(I) 110 CONTINUE ENDIF MLMOTS.MOTS(IEME) = LEMOT ELSE * INTERR(1) = IEME NUMERR = 36 CALL ERREUR (NUMERR) * END IF * SEGDES,MLMOTS * END