Advertisement
KrimsN

Untitled

Oct 2nd, 2018
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.10 KB | None | 0 0
  1. #include "stdio.h"
  2. #include "iostream"
  3. const double eps = 1e-9;
  4.  
  5. using namespace std;
  6.  
  7. class matrix
  8. {
  9. private:
  10.     double **a;
  11.     int n, m;
  12. public:
  13.     // матрица без элементов
  14.     matrix ()
  15.     {
  16.         a = 0;
  17.         n = 0;
  18.         m = 0;
  19.     }
  20.     // матрица NxM, если E, то единичная, иначе нулевая
  21.     matrix (int N, int M, bool E = 0)
  22.     {
  23.         n = N;
  24.         m = M;
  25.         a = new double *[n];
  26.         for (int i = 0; i < n; ++ i)
  27.         {
  28.             a[i] = new double[m];
  29.             for (int j = 0; j < m; ++ j)
  30.                 a[i][j] = (i == j) * E;
  31.         }
  32.     }
  33.  
  34.     double* operator [] (int index)
  35.     {
  36.         return getRow (index);
  37.     }
  38.     // получить строку матрицы
  39.     double* getRow (int index)
  40.     {
  41.         if (index >= 0 && index < n)
  42.             return a[index];
  43.         return 0;
  44.     }
  45.     // получить столбец матрицы
  46.    
  47.     void print ()
  48. {
  49.     for (int i = 0; i < n; ++ i)
  50.     {
  51.         for (int j = 0; j < m; ++ j)
  52.             printf ("%8.2lf ", a[i][j]);
  53.         puts ("");
  54.     }
  55. }
  56. };
  57. int main(int argc, char const *argv[])
  58. {
  59.     int N = 3, M = 2, org = 0;
  60.     cin >> N >> M;
  61.     matrix a(N,M);
  62.     a[1][6] = 33.33f;
  63.     a.print();
  64.     return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement