对称矩阵类SymmetricMatrix

#pragma once

class SymmetricMatrix
{
public:

    SymmetricMatrix(void)
    {
        size = 0;
    }

    //n为阶数,b为对称矩阵,i j从0开始算时,bij=A[i*(i+1)/2+j] i>=j
    int * Store_Matrix(int n,int *b)
    {
        size = (n*n+n)/2;
        A = new int [size];
        for(int i=0;i<n;i++)
            for(int j=0;j<=i;j++)
                A[i*(i+1)/2+j] = *(b+i*n+j);
        return A;
    }

    int * Add__Matrix(int n,int *a,int *b)
    {
        size = (n*n+n)/2;
        A = new int [size];
        for(int i=0;i<n;i++)
            for(int j=0;j<=i;j++)
                A[i*(i+1)/2+j] = *(b+i*n+j)+*(a+i*n+j);
        return A;
    }

    int getSize()
    {
        return size;
    }

    ~SymmetricMatrix(void)
    {
    }

private:
    int * A;
    int size;
};
View Code

相关文章:

  • 2021-11-04
  • 2021-05-30
  • 2022-01-21
  • 2021-05-08
  • 2021-07-08
猜你喜欢
  • 2021-12-31
  • 2021-12-21
  • 2021-10-19
  • 2021-10-17
  • 2021-10-07
  • 2021-09-11
相关资源
相似解决方案