Advertisement
aed1oN

Untitled

May 11th, 2019
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.09 KB | None | 0 0
  1. template <typename T>
  2.     Matrica<T> ProduktMatrica(const Matrica<T> &m1, const Matrica<T> &m2) {
  3.         if (m1.brKolona != m2.brRedova)
  4.             throw std::domain_error("Matrice nisu saglasne za mnozenje");
  5.         Matrica<T> produkt = StvoriMatricu<T>(m1.brRedova);
  6.         for (int i = 0; i < m1.brRedova; i++)
  7.             for (int j = 0; j < m2.brKolona; j++) {
  8.                 T suma = 0;
  9.                 for (int k = 0; k < m2.brRedova; k++)
  10.                     suma += m1.elementi[i][k] * m2.elementi[k][j];
  11.                 produkt.elementi[i][j] = suma;
  12.             }
  13.         return produkt;
  14.     }
  15.  
  16. template <typename T>
  17.     Matrica<T> StvoriMatricu(int dimenzija) {
  18.         Matrica<T> matrica;
  19.         matrica.brRedova = dimenzija; matrica.brKolona = dimenzija;
  20.         matrica.elementi = new T*[dimenzija]{};
  21.         try {
  22.             for (int i = 0; i < dimenzija; i++)
  23.                 matrica.elementi[i] = new T[dimenzija];
  24.         } catch (std::bad_alloc) {
  25.             UnistiMatricu(matrica);
  26.             throw;
  27.         }
  28.         return matrica;
  29.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement