Να γραφεί πρόγραμμα που να υπολογίζει
το γινόμενο δυο πινάκων. Το γινόμενο ενός πίνακα Α(nxl) επί ένα πίνακα
B(lxm) είναι ένας πίνακας C(nxm) του οποίου τα στοιχεία υπολογίζονται
ως εξής:
Κώδικας:
PROGRAM arrayginom
IMPLICIT NONE
INTEGER, PARAMETER:: N=3, L=2, M=4
INTEGER:: i, j, k, A(N,L), B(L,M), C(N,M)
WRITE(*,*) ' Dwse ta stoixeia tou Pinaka A'
READ(*,*) ((A(i,k),k=1,L),i=1,N)
WRITE(*,*) ' Dwse ta stoixeia tou Pinaka B'
READ(*,*) ((B(k,j),j=1,M),k=1,L)
!
DO i = 1, N
DO j = 1, M
C(i,j) = 0
DO k = 1, L
C(i,j) = C(i,j) + A(i,k)*B(k,j)
END DO
END DO
END DO
!
WRITE(*,5) ((A(i,k),k=1,L),i=1,N)
WRITE(*,6) ((B(k,j),j=1,M),k=1,L)
WRITE(*,7) ((C(i,j),j=1,M),i=1,N)
STOP
5 FORMAT(' A='/3(' |',2(I3),' |'/))
6 FORMAT(' B='/2(' |',4(I3),' |'/))
7 FORMAT(' C=(A*B)='/3(' |',4(I3),' |'/))
END
Εκτέλεση:
Dwse
ta stoixeia tou Pinaka A
1 2 3 4 5 6
Dwse ta stoixeia tou Pinaka B
1 2 3 4 5 6 7 8
A=
| 1 2 |
| 3 4 |
| 5 6 |
B=
|
1 2 3 4 |
|
5 6 7 8 |
C=(A*B)=
|
11 14 17 20 |
|
23 30 37 44 |
|
35 46 57 68 |
|
|