CyRhmU.jpeg
²é¿´: 2062  |  »Ø¸´: 7
µ±Ç°Ö»ÏÔʾÂú×ãÖ¸¶¨Ìõ¼þµÄ»ØÌû£¬µã»÷ÕâÀï²é¿´±¾»°ÌâµÄËùÓлØÌû

zyj8119

ľ³æ (ÖøÃûдÊÖ)

[½»Á÷] ¡¾ÇóÖú¡¿´Ë³ÌÐòÒ²ÊÇûÓÐÎÊÌâÁË£¬µ«ÊÇÒÀÈ»ÔËÐв»³ö½á¹ûÒÑÓÐ2È˲ÎÓë

CODE:
!  Console5.f90
!
!  FUNCTIONS:
!  Console5 - Entry point of console application.
!

!****************************************************************************
!
!  PROGRAM: Console5
!
!  PURPOSE:  Entry point for the console application.
!
!****************************************************************************

   
    !
MODULE data
INTERFACE OPERATOR(*)
  MODULE PROCEDURE star
END INTERFACE
TYPE matrix
  INTEGER::m,n
  INTEGER,DIMENSION(:,:),POINTER::a
END TYPE matrix
CONTAINS
  FUNCTION star(mt1,mt2) RESULT(mproduct)
  TYPE(matrix),INTENT(IN)::mt1,mt2
  TYPE(matrix)::mproduct
  INTEGER::i,j,k
  IF(mt1.n/=mt2.n)THEN
    mproduct.m=0;mproduct.n=0
    ALLOCATE(mproduct%a(0,0))
  ELSE
    mproduct.m=mt1.m;mproduct.n=mt2.n
    ALLOCATE(mproduct%a(mt1.m,mt2.n))
    DO i=1,mt1.m
     DO j=1,mt2.n
      mproduct.a(i,j)=0
      DO k=1,mt1.n
      mproduct.a(i,j)=mproduct.a(i,j)+mt1.a(i,k)*mt2.a(k,j)
      END DO
     END DO
     END DO
    END IF
    END FUNCTION star
   END MODULE data
   !
     
     program Console5
    USE data
    TYPE(matrix)::mx1,mx2,mx
    INTEGER,TARGET::a1(2,4),a2(4,2)
    OPEN(1,FILE='myf1.out')
    a1=RESHAPE((/1,3,5,7,2,4,6,8/),(/2,4/))
    a2=RESHAPE((/2,4,6,8,1,3,5,7/),(/4,2/))
    mx1=matrix(2,4,a1);mx2=matrix(4,2,a2);mx=mx1*mx2
    WRITE(1,'(2I5)')((mx.a(i,j),j=1,2),i=1,2)
    end program Console5
   
  
  

ÎÒʹÓõÄÊÇIVF,ÒÔǰÓõͼÊÇCVF£¬Ó¦¸Ã¸ú±àÒëÆ÷¹ØÏµ²»´ó°É£¿
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:

ºÃºÃѧϰ£¬ÌìÌìÏòÉÏ¡£
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

zyj8119

ľ³æ (ÖøÃûдÊÖ)

ÒýÓûØÌû:
Originally posted by snoopyzhao at 2010-09-11 21:54:24:
µÄÈ·²»ÄܱàÒ룬gfortran »áÌáʾ IF(mt1.n/=mt2.n)THEN ÕâÒ»ÐÐÓдíÎ󣬵±È»£¬»¹ÓкܶàºÜ¶àµÄ´íÎó¡£ÎÒÒ²²»ÖªµÀÊÇÔõô»ØÊ¶ù£¬ÒòΪÎÒ¶Ô f90 ²»ÊìϤ¡­¡­

ÎҼǵÃgfortranÖ»ÄܱàÒëF77,F90ÐèÒªÓÃifort.
ºÃºÃѧϰ£¬ÌìÌìÏòÉÏ¡£
4Â¥2010-09-11 21:56:07
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
²é¿´È«²¿ 8 ¸ö»Ø´ð

snoopyzhao

ÖÁ×ðľ³æ (Ö°Òµ×÷¼Ò)

zyj8119(½ð±Ò+10):Ó¦¸ÃûÓÐÎÊÌâ°¡¡£¡£¡£ 2010-09-11 15:29:28
ÄãÕâ¸ö³ÌÐòÎÒÓà gfortran ¶¼²»ÄܱàÒ룬Ϊʲô£¿
2Â¥2010-09-10 22:16:14
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

snoopyzhao

ÖÁ×ðľ³æ (Ö°Òµ×÷¼Ò)

µÄÈ·²»ÄܱàÒ룬gfortran »áÌáʾ IF(mt1.n/=mt2.n)THEN ÕâÒ»ÐÐÓдíÎ󣬵±È»£¬»¹ÓкܶàºÜ¶àµÄ´íÎó¡£ÎÒÒ²²»ÖªµÀÊÇÔõô»ØÊ¶ù£¬ÒòΪÎÒ¶Ô f90 ²»ÊìϤ¡­¡­
3Â¥2010-09-11 21:54:24
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

snoopyzhao

ÖÁ×ðľ³æ (Ö°Òµ×÷¼Ò)

¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
Äã˵µÄÄÇÊÇ g77£¬gfortran ×î³õ¾ÍÊÇ×÷Ϊ f95 ±àÒëÆ÷¿ª·¢µÄ£¬ºÇºÇ£¬Êµ¼ÊÉÏ gfortran Á¬ Fortran 2008 ±ê×¼ÖеÄÒ»Ð©ÌØÐÔ¶¼ÓÐËùÖ§³ÖÁË£¬ºÇºÇ
5Â¥2010-09-11 22:13:17
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û