Προγραμματισμός FORTRAN > Παραδείγματα > Γινόμενο Πινάκων

Αρχική-HomeΠαραδείγματαΕντολές-ΣυναρτήσειςΟδηγίες-FAQsΣυνδέσεις-Links

ΠΑΡΑΔΕΙΓΜΑ: ΓΙΝΟΜΕΝΟ ΠΙΝΑΚΩΝ

Να γραφεί πρόγραμμα που να υπολογίζει το γινόμενο δυο πινάκων. Το γινόμενο ενός πίνακα Α(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
ENTER
 Dwse ta stoixeia tou Pinaka B
1 2 3 4 5 6 7 8
ENTER

 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 |


Σχόλια ή Επεκτάσεις

 


©2006 Δρ. Β. Χ. Μούσας, Επικ. Καθ., e-mail Τ.Ε.Ι. ΑθήναςΤμήμα Πολιτικών Έργων Υποδομής