Advertisement
Guest User

sads

a guest
May 29th, 2015
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.25 KB | None | 0 0
  1. class Matrix
  2. {
  3.     int m, n;
  4.     int **p;
  5. public:
  6.     Matrix(int n=0,int  m=0)
  7.     {
  8.         this->n = n;
  9.         this->m = m;
  10.         p = new int*[n];
  11.         for (int i = 0; i < n;i++)
  12.         {
  13.             p[i] = new int[m];
  14.         }
  15.         for (int i = 0; i < n; i++)
  16.         {
  17.             for (int j = 0; j < m; j++)
  18.             {
  19.                 p[i][j] = rand() % 10;
  20.             }
  21.         }
  22.     }
  23.     Matrix(Matrix &Obj)
  24.     {
  25.         this->n = Obj.n;
  26.         this->m = Obj.m;
  27.        
  28.         if (p)
  29.         {
  30.             for (int i = 0; i < n; i++)
  31.             {
  32.                 delete[]p[i];
  33.             }
  34.             delete[] p;
  35.         }
  36.         p = new int*[n];
  37.         for (int i = 0; i < n; i++)
  38.         {
  39.             p[i] = new int[m];
  40.         }
  41.         for (int i = 0; i < n; i++)
  42.         {
  43.             for (int j = 0; j < m; j++)
  44.             {
  45.                 p[i][j] = Obj.p[i][j];
  46.             }
  47.         }
  48.     }
  49.     ~Matrix()
  50.     {
  51.         for (int i = 0; i < n; i++)
  52.         {
  53.             delete[]p[i];
  54.         }
  55.         delete[] p;
  56.     }
  57.     void Show()
  58.     {
  59.         for (int i = 0; i < n; i++)
  60.         {
  61.             for (int j = 0; j < m; j++)
  62.             {
  63.                 cout.width(4);
  64.                 cout << p[i][j];
  65.             }
  66.             cout << endl;
  67.         }
  68.         cout << endl;
  69.     }
  70.     void Change(int index1, int index2, int value)
  71.     {
  72.         p[index1][index2] = value;
  73.     }
  74. };
  75.  
  76.  
  77.  
  78.  
  79. int _tmain(int argc, _TCHAR* argv[])
  80. {
  81.     srand(GetTickCount());
  82.     Matrix mas1(3, 4), mas2(5, 5), mas3(mas1);
  83.     mas1.Show();
  84.     mas2.Show();
  85.     mas3.Show();
  86.     mas3.Change(2, 2, 100);
  87.     mas3.Show();
  88.    
  89.     _getch();
  90.     return 0;
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement