对称矩阵类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; };