Advertisement
JStefan

[Laboratoriski] Matrica_preoptovaruvanje_na_operatori

Mar 19th, 2017
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.23 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. //vashiot kod ovde
  5.  
  6. class Matrica {
  7.     float matrica[10][10];
  8.     int redici;
  9.     int koloni;
  10. public:
  11.     Matrica() {
  12.         redici = koloni = 0;
  13.         for(int i = 0; i < 10; ++i) {
  14.             for(int j = 0; j < 10; ++j) {
  15.                 matrica[i][j] = 0;
  16.             }
  17.         }
  18.     }
  19.  
  20.     Matrica(const Matrica& obj) {
  21.         redici = obj.redici;
  22.         koloni = obj.koloni;
  23.         for(int i = 0; i < redici; ++i) {
  24.             for(int j = 0; j < koloni; ++j) {
  25.                 matrica[i][j] = obj.matrica[i][j];
  26.             }
  27.         }
  28.     }
  29.  
  30.     Matrica operator+(int number) {
  31.         Matrica m(*this);
  32.         for(int i = 0; i < redici; ++i) {
  33.             for(int j = 0; j < koloni; ++j) {
  34.                 m.matrica[i][j] += number;
  35.             }
  36.         }
  37.         return m;
  38.     }
  39.  
  40.     Matrica operator-(const Matrica& obj) {
  41.         Matrica m(*this);
  42.         for(int i = 0; i < redici; ++i) {
  43.             for(int j = 0; j < koloni; ++j) {
  44.                 m.matrica[i][j] -= obj.matrica[i][j];
  45.             }
  46.         }
  47.         return m;
  48.     }
  49.  
  50.     Matrica operator*(const Matrica& obj) {
  51.         Matrica m;
  52.         m.redici = redici;
  53.         m.koloni = koloni;
  54.         for(int i = 0; i < redici; ++i) {
  55.             for(int j = 0; j < koloni; ++j) {
  56.                 for(int k = 0; k < koloni; ++k) {
  57.                     m.matrica[i][j] += (matrica[i][k] * obj.matrica[k][j]);
  58.                 }
  59.             }
  60.         }
  61.         return m;
  62.     }
  63.  
  64.     friend istream& operator>>(istream& in, Matrica& obj) {
  65.         in>>obj.redici>>obj.koloni;
  66.         for(int i = 0; i < obj.redici; ++i) {
  67.             for(int j = 0; j < obj.koloni; ++j) {
  68.                 in>>obj.matrica[i][j];
  69.             }
  70.         }
  71.         return in;
  72.     }
  73.  
  74.     friend ostream& operator<<(ostream& out, const Matrica& obj) {
  75.         for(int i = 0; i < obj.redici; ++i) {
  76.             for(int j = 0; j < obj.koloni; ++j) {
  77.                 out<<obj.matrica[i][j]<<" ";
  78.             }
  79.             out<<endl;
  80.         }
  81.         return out;
  82.     }
  83.  
  84.     ~Matrica() {}
  85. };
  86.  
  87. int main()
  88. {
  89.     Matrica A,B,C;
  90.     cin>>A>>B>>C;
  91.     Matrica D=B*C;
  92.     Matrica R=A-D+2;
  93.     cout<<R;
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement