Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <iomanip>
- typedef std::vector <std::vector<double>> Matrica;
- Matrica Kreiraj_matricu(int br_redova, int br_kolona)
- {
- return Matrica(br_redova, std::vector <double> (br_kolona));
- }
- int br_redova (Matrica m)
- {
- return m.size();
- }
- int br_kolona (Matrica m)
- {
- return m[0].size();
- }
- Matrica Unesi_matricu (int br_redova, int br_kolona)
- {
- auto m(Kreiraj_matricu(br_redova, br_kolona));
- for (int i(0); i<br_redova; i++)
- for (int j(0); j<br_kolona; j++)
- { std::cout<<"Element ("<<i+1<<","<<j+1<<") : ";
- std::cin>>m[i][j];
- }
- return m;
- }
- void Ispisi_matricu (Matrica m)
- {
- for (int i(0); i<br_redova(m); i++)
- for (int j(0); j<br_kolona(m); j++)
- {
- std::cout<<std::setw(10)<<m[i][j];
- std::cout<<std::endl;
- }
- }
- bool Mogu_se_sabirati(Matrica m1, Matrica m2)
- {
- return (br_redova(m1)==br_redova(m2)) && (br_kolona(m1)==br_kolona(m2));
- }
- Matrica Saberi_matrice(Matrica m1, Matrica m2)
- {
- auto m3(Kreiraj_matricu(br_redova(m1), br_kolona(m1)));
- for (int i(0); i<br_redova(m1); i++)
- for (int j(0); j<br_kolona(m1); j++)
- {
- m3[i][j]=m1[i][j]+m2[i][j];
- }
- return m3;
- }
- bool Mogu_se_mnoziti (Matrica m1, Matrica m2)
- {
- return br_kolona(m1)==br_redova(m2);
- }
- Matrica Pomnozi_matrice(Matrica m1, Matrica m2)
- {
- auto m3 (Kreiraj_matricu(br_redova(m1), br_kolona(m2)));
- for (int i(0); i<br_redova(m1); i++)
- for (int j(0); j<br_kolona(m2); j++)
- {
- double suma(0);
- for (int k(0); k<br_redova(m2); k++)
- suma+=m1[i][k]+m2[k][j];
- m3[i][j]=suma;
- }
- return m3;
- }
- int main ()
- {
- int m1, n1;
- std::cout<<"Unesi dimenzije matrice A: ";
- std::cin>>m1>>n1;
- std::cout<<"Unesi elemente matrice A: "<<std::endl;
- auto A (Unesi_matricu(m1,n1));
- int m2, n2;
- std::cout<<"Unesi dimenzije matrice B: ";
- std::cin>>m2>>n2;
- std::cout<<"Unesi elemente matrice B: "<<std::endl;
- auto B(Unesi_matricu(m2, n2));
- if (Mogu_se_sabirati(A,B))
- {
- std::cout<<"Matrica A+B: "<<std::endl;
- Ispisi_matricu(Saberi_matrice(A,B));
- }
- else std::cout<<"Matrice nisu saglasne za sabiranje. "<<std::endl;
- if (Mogu_se_mnoziti(A,B))
- {
- std::cout<<"Matrica A*B: "<<std::endl;
- Ispisi_matricu(Pomnozi_matrice(A,B));
- }
- else std::cout<<"Matrice nisu saglasne za mnozenje. "<<std::endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement