Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <iomanip>
- #include <stdexcept>
- int BrojKolona(std::vector<std::vector<int>> Mat)
- {
- return Mat[0].size();
- }
- int BrojRedova(std::vector<std::vector<int>> Mat)
- {
- return Mat.size();
- }
- void IspisiMatricu(std::vector<std::vector<int>> Mat)
- {
- for(int i(0); i < BrojRedova(Mat); i++)
- {
- for(int j(0); j < BrojKolona(Mat); j++)
- std::cout << std::setw(5) << Mat[i][j];
- std::cout << std::endl;
- }
- }
- std::vector<std::vector<int>> KreirajMatricu(int br_redova, int br_kolona)
- {
- return std::vector<std::vector<int>>(br_redova, std::vector<int>(br_kolona));
- }
- std::vector<std::vector<int>> UnesiMatricu(int br_redova, int br_kolona)
- {
- std::vector<std::vector<int>> mat(KreirajMatricu(br_redova, br_kolona));
- for(int i(0); i < br_redova; i++)
- for(int j(0); j < br_kolona; j++)
- {
- std::cout << "Unesite element (" << i+1 << "," << j+1 << "): ";
- std::cin >> mat[i][j];
- }
- return mat;
- }
- std::vector<std::vector<int>> SaberiMatrice(std::vector<std::vector<int>> Mat1, std::vector<std::vector<int>> Mat2)
- {
- std::vector<std::vector<int>> Mat3(KreirajMatricu(BrojRedova(Mat1), BrojKolona(Mat1)));
- for(int i(0); i < BrojRedova(Mat3); i++)
- for(int j(0); j < BrojKolona(Mat3); j++)
- Mat3[i][j] = Mat1[i][j]+Mat2[i][j];
- return Mat3;
- }
- std::vector<std::vector<int>> PomnoziMatrice(std::vector<std::vector<int>> Mat1, std::vector<std::vector<int>> Mat2)
- {
- std::vector<std::vector<int>> Mat3(KreirajMatricu(BrojRedova(Mat1), BrojKolona(Mat2)));
- for(int i(0); i < BrojRedova(Mat3); i++)
- for(int j(0); j < BrojKolona(Mat3); j++)
- {
- int suma(0);
- for(int k(0); k < BrojRedova(Mat3); k++)
- suma+=Mat1[i][k]*Mat2[k][j];
- Mat3[i][j] = suma;
- }
- return Mat3;
- }
- bool MoguLiSeSabirati(std::vector<std::vector<int>> Mat1, std::vector<std::vector<int>> Mat2)
- {
- return (BrojRedova(Mat1) == BrojRedova(Mat2) && BrojKolona(Mat1) == BrojKolona(Mat2));
- }
- bool MoguLiSeMnoziti(std::vector<std::vector<int>> Mat1, std::vector<std::vector<int>> Mat2)
- {
- return (BrojKolona(Mat1) == BrojRedova(Mat2));
- }
- int main()
- {
- int br_redova1(2), br_kolona1(2), br_redova2(2), br_kolona2(2);
- std::vector<std::vector<int>> Mat1(KreirajMatricu(br_redova1, br_kolona1));
- std::vector<std::vector<int>> Mat2(KreirajMatricu(br_redova2, br_kolona2));
- Mat1 = UnesiMatricu(br_redova1, br_kolona1);
- Mat2 = UnesiMatricu(br_redova2, br_kolona2);
- std::cout << std::boolalpha << MoguLiSeSabirati(Mat1, Mat2) << MoguLiSeMnoziti(Mat1, Mat2);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement