Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<vector>
- #include<stdexcept>
- #include <iomanip>
- typedef std::vector<std::vector<int>> Matrica;
- Matrica KreirajMatricu(int br_redova, int br_kolona)
- {
- return Matrica(br_redova, std::vector<int>(br_kolona));
- }
- Matrica PomnoziMatrice(Matrica m1, Matrica m2)
- {
- for (int i(0); i<m1.size(); i++)
- {
- for (int j(0); j<m1.size(); j++)
- {
- if (m1[i].size() != m1[j].size()) throw std::domain_error("Parametar nema formu matrice.");
- }
- }
- for (int i(0); i<m2.size(); i++)
- {
- for (int j(0); j<m2.size(); j++)
- {
- if ((m2[i].size() != m2[j].size()) ) throw std::domain_error("Parametar nema formu matrice.");
- }
- }
- Matrica m3(KreirajMatricu(m1.size(), m2[0].size()));
- bool mogu_se_mnoziti(false);
- if (m1[0].size() == m2.size())
- mogu_se_mnoziti = true;
- if (mogu_se_mnoziti == false ) throw std::domain_error("Matrice nisu saglasne za mnozenje.");
- else
- {
- for (int i(0); i<m1.size(); i++)
- {
- for (int j(0); j<m2[0].size(); j++)
- {
- int suma(0);
- for (int k(0); k<m2.size(); k++)
- suma+=m1[i][k] * m2[k][j];
- m3[i][j] = suma;
- }
- }
- }
- return m3;
- }
- int main()
- {
- try
- {
- Matrica m1{{1,2,3}, {2,3,4},{1,2,3}};
- Matrica m2{{1,0,3},{2,5, 1},{1,0,5}};
- Matrica m3 = PomnoziMatrice(m1,m2);
- std::cout<<"Pomnozene matrice su: \n";
- for (int i(0); i<m3.size(); i++)
- {
- for (int j(0); j<m3[0].size(); j++)
- {
- std::cout<<std::setw(8)<<m3[i][j];
- }
- std::cout<<std::endl;
- }
- }
- catch( std::domain_error e)
- {
- std::cout<<e.what();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement