g2molg
C G2MOLG SOURCE CHAT 05/01/13 00:14:39 5004 C > NBAJ,INLGAJ,NBLGAJ,INDICE,INCREM, > IGR2,NBLIG2,NBCOL2) C ********************************************************************** C OBJET G2MOCG : AJOUTE DES LIGNES D'INDICES A UNE GRILLE C C EN ENTREE : C IGR1(NBLIG1,NBCOL1) : LE TABLEAU INITIAL C C NBAJ : NOMBRE D'AJOUTS C INLGAJ() : TABLEAU DES POSITIONS D'AJOUT C NBLGAJ(I) : NOMBRE DE LIGNES A AJOUTER C AVANT INLGAJ(I) SI NEGATIF C APRES INLGAJ(I) SI POSITIF C C INDICE : INDICE POUR REMPLIR LES NOUVELLES LIGNES C INCREM : INCREMENT DE L'INDICE C C EN SORTIE : C IGR2(NBLIG2,NBCOL2) : LE TABLEAU AVEC LES LIGNES SUPPLEMENTAIRES C C ********************************************************************** IMPLICIT INTEGER(I-N) INTEGER IGR1(*),NBLIG1,NBCOL1 INTEGER IGR2(*),NBLIG2,NBCOL2 C INTEGER ILGAJ,I,J,K,II,NBLG C NBLG = 0 DO 10 I=1,NBAJ NBLG = NBLG + NBLGAJ(I) 10 CONTINUE ILGAJ = 1 NBCOL2 = NBCOL1 NBLIG2 = NBLIG1+NBLG II = 1 DO 50 I=1,NBLIG1 C C --- ON AJOUTE DES LIGNES AVANT --- C IF( I.EQ. -INLGAJ(ILGAJ) )THEN DO 25 K=1,NBLGAJ(ILGAJ) DO 20 J = 1,NBCOL2 IGR2((II-1)*NBCOL2+J) = INDICE 20 CONTINUE II = II + 1 25 CONTINUE ILGAJ = ILGAJ+1 ENDIF C DO 30 J=1,NBCOL1 IGR2((II-1)*NBCOL2+J) = IGR1((I-1)*NBCOL1+J) 30 CONTINUE II = II + 1 C C --- ON AJOUTE DES LIGNES APRES --- C IF( (NBAJ.GE.ILGAJ).AND.(I.EQ.INLGAJ(ILGAJ)) )THEN DO 45 K=1,NBLGAJ(ILGAJ) DO 40 J = 1,NBCOL2 IGR2((II-1)*NBCOL2+J) = INDICE 40 CONTINUE II = II + 1 45 CONTINUE ILGAJ = ILGAJ+1 ENDIF 50 CONTINUE C 9999 END
© Cast3M 2003 - Tous droits réservés.
Mentions légales