Advertisement
Guest User

C++ Matrix Help

a guest
May 22nd, 2023
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.81 KB | Source Code | 0 0
  1. #include<iostream>
  2.  
  3. using namespace std;
  4.  
  5. class Matrix
  6. {
  7. private:
  8.     int rows, columns;
  9.     double** data;
  10. public:
  11.     Matrix()
  12.     {
  13.         rows = 0;
  14.         columns = 0;
  15.         data = NULL;
  16.     }
  17.     Matrix(int r, int c)
  18.     {
  19.         rows = r;
  20.         columns = c;
  21.         double** matrixArray = new double*[rows];
  22.         for (int i = 0; i < rows; i++) {
  23.             matrixArray[i] = new double[columns];
  24.             for (int j = 0; j < columns; j++) {
  25.                 matrixArray[i][j] = 0.0;
  26.             }
  27.         }
  28.         data = matrixArray;
  29.     }
  30.     ~Matrix()
  31.     {
  32.         if(data != NULL)
  33.         {
  34.         for(int i = 0; i < rows; i++)
  35.         {
  36.             delete[] data[i];
  37.         }
  38.         delete[] data;
  39.         }
  40.     }
  41.     int getRows();
  42.     int getColumns();
  43.     void Resize(int, int);
  44.     double getValue(int, int);
  45.     void setValue(int, int, double);
  46. };
  47.  
  48. int Matrix::getRows()
  49. {
  50.     return rows;
  51. }
  52.  
  53. int Matrix::getColumns()
  54. {
  55.     return columns;
  56. }
  57.  
  58. void Matrix::Resize(int r, int c)
  59. {
  60.     rows = r;
  61.     columns = c;
  62.     if(data != NULL)
  63.     {
  64.         for(int i = 0; i < rows; i++)
  65.         {
  66.             delete[] data[i];
  67.         }
  68.         delete[] data;
  69.     }
  70.     Matrix(r,c);
  71. }
  72.  
  73. double Matrix::getValue(int r, int c)
  74. {
  75.     return data[r][c];
  76. }
  77.  
  78. void Matrix::setValue(int r, int c, double d)
  79. {
  80.     data[r][c] = d;
  81. }
  82.  
  83. int main()
  84. {
  85.     int r;
  86.     cout << "Give rows\n";
  87.     cin >> r;
  88.     Matrix m1;
  89.     Matrix m2(r,1);
  90.     m1.Resize(r,1);
  91.     for(int i = 0; i < r; i++)
  92.     {
  93.         double t;
  94.         cout << "Give data for row " << i+1 << " on matrix 1";
  95.         cin >> t;
  96.         m1.setValue(i, 1, t);
  97.     }
  98.     for(int i = 0; i < r; i++)
  99.     {
  100.         double t = m1.getValue(i, 1);
  101.        cout << t;
  102.     }
  103.     return 0;
  104. }
  105.  
  106.  
Tags: C++
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement