      subroutine matmult(m,n,nn,lm,ln,A,B,C)
c
c Procedura mnozy macierze A(m x n) i B(n x nn) dajac jako wynik macierz 
c C(n x nn)
c
      implicit real*8 (a-h,o-z)
      dimension A(lm,n),B(ln,nn),C(lm,nn)
c
c Petla mnozaca macierze A i B
c
      do i=1,m
        do j=1,nn
c
c Iloczyn i-tego wiersza macierzy A i j-tej kolumny macierzy B stanowiacy
c element ij macierzy C bedziemy tworzyc w zmiennej prostej cij a nie od razu
c w elemencie C(i,j) wynikowej macierzy, poniewaz odwolania do zmiennych 
c prostych sa tansze niz do indeksowanych.
c
          cij=0.0d0
          do k=1,n
            cij=cij+a(i,k)*b(k,j)
          enddo
c
c Przypisujemy koncowa wartosc iloczynu do C(i,j)
c
          c(i,j)=cij
        enddo
      enddo 
      return
      end
