Vla_DOS

Untitled

Dec 24th, 2022 (edited)
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.16 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3. #include <iomanip>
  4.  
  5. using namespace std;
  6.  
  7. class Matrix
  8. {
  9. private:
  10.     int** arr;
  11.  
  12. public:
  13.  
  14.     void Set() {
  15.         arr = new int* [4];
  16.         for (int count = 0; count < 4; count++)
  17.             arr[count] = new int[4];
  18.  
  19.         for (int i = 0; i < 4; i++)
  20.             for (int j = 0; j < 4; j++)
  21.                 arr[i][j] = (rand() % 10 + 1) / int((rand() % 10 + 1));
  22.     }
  23.  
  24.     void Get() {
  25.         for (int i = 0; i < 4; i++)
  26.         {
  27.             for (int j = 0; j < 4; j++)
  28.                 cout << setw(4) << setprecision(2) << arr[i][j] << "   ";
  29.             cout << endl;
  30.         }
  31.     }
  32.     void MaxElement() {
  33.         int max = INT_MIN;
  34.         for (int i = 0; i < 4; i++)
  35.         {
  36.             for (int j = 0; j < 4; j++)
  37.                 if (arr[i][j] > max)
  38.                     max = arr[i][j];
  39.         }
  40.         cout << "MAX = " << max <<endl;
  41.     }
  42.     void Delete() {
  43.         for (int count = 0; count < 2; count++)
  44.             delete[]arr[count];
  45.     }
  46.  
  47.     friend Matrix operator+(const Matrix& c1, const Matrix& c2)
  48.     {
  49.         Matrix res;
  50.         res.arr = new int* [4];
  51.         for (int count = 0; count < 4; count++)
  52.             res.arr[count] = new int[4];
  53.         for (int i = 0; i < 4; i++)
  54.         {
  55.             for (int j = 0; j < 4; j++)
  56.                 res.arr[i][j] = c1.arr[i][j] + c2.arr[i][j];
  57.             cout << endl;
  58.         }
  59.         return res;
  60.     }
  61.  
  62.     friend Matrix operator-(const Matrix& c1, const Matrix& c2)
  63.     {
  64.         Matrix res;
  65.         res.arr = new int* [4];
  66.         for (int count = 0; count < 4; count++)
  67.             res.arr[count] = new int[4];
  68.         for (int i = 0; i < 4; i++)
  69.         {
  70.             for (int j = 0; j < 4; j++)
  71.                 res.arr[i][j] = c1.arr[i][j] - c2.arr[i][j];
  72.             cout << endl;
  73.         }
  74.         return res;
  75.     }
  76.  
  77. };
  78.  
  79. int main()
  80. {
  81.     setlocale(0, "");
  82.     Matrix m1;
  83.     m1.Set();
  84.     m1.Get();
  85.     m1.MaxElement();
  86.     cout << endl;
  87.     Matrix m2;
  88.     m2.Set();
  89.     m2.Get();
  90.  
  91.     Matrix m3;
  92.     m3 = m1 + m2;
  93.  
  94.     m3.Get();
  95.  
  96.     m3 = m1 - m2;
  97.  
  98.     m3.Get();
  99.  
  100.     return 0;
  101. }
Advertisement
Add Comment
Please, Sign In to add comment