PROGRAM mymatmul ! c Manfred Ries IMPLICIT NONE INTEGER :: n, i, j REAL, ALLOCATABLE :: A(:,:), B(:,:) REAL, ALLOCATABLE :: C(:,:) n = 2 ALLOCATE ( A(n,n), B(n,n) ) ALLOCATE ( C(n,n) ) A = reshape( (/1,2,3,4/), (/2,2/) ) B = TRANSPOSE(A) C = MATMUL(A, B) WRITE(*,'(2F4.0)') ((C(i,j), j=1,n), i=1,n) END PROGRAM mymatmul |
IMPLICIT NONE INTEGER :: n, i, j, k REAL A(2,2), B(2,2) REAL C(2,2), summe n = 2 A(1,1) = 1 A(2,1) = 2 A(1,2) = 3 A(2,2) = 4 DO 100 i=1,n DO 200 j=1,n B(i,j) = A(j,i) 200 CONTINUE 100 CONTINUE DO 300 i=1,n DO 400 j=1,n summe = 0.0 DO 500 k=1,n summe = summe + A(i,k) * B(k,j) 500 CONTINUE C(i,j) = summe 400 CONTINUE 300 CONTINUE WRITE(*,10000) ((C(i,j), j=1,n), i=1,n) 10000 FORMAT(2F4.0) END |