weixin_35464238
W15797693475
采纳率0%
2016-06-29 12:03 浏览 1.3k

求解答一个关于类的c++程序题

设计一个类来表示一个矩阵,类内部可以封装一个二维数组来存储矩阵元素,并实现矩阵中数据的输入和获取矩阵元素功能,实现矩阵的加法,减法,乘法运算

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答 默认 最新

  • caozhy 从今以后生命中的每一秒都属于我爱的人 2016-06-29 12:09
    点赞 评论 复制链接分享
  • wangyaninglm shiter 2016-06-29 15:52
     /矩阵数据结构  
    //二维矩阵  
    class _Matrix  
    {  
    private:  
    public:  
        int m;  
        int n;  
        float *arr;  
    
        //初始化  
        _Matrix(int mm = 0,int nn = 0);  
        //设置m  
        void set_m(int mm);  
        //设置n  
        void set_n(int nn);  
        //初始化  
        void init_matrix();  
        //释放  
        void free_matrix();  
        //读取i,j坐标的数据  
        //失败返回-31415,成功返回值  
        float read(int i,int j);  
        //写入i,j坐标的数据  
        //失败返回-1,成功返回1  
        int write(int i,int j,float val);  
    };  
    
    //二维运算类  
    class _Matrix_Calc  
    {  
    private:  
    public:  
        _Matrix_Calc();  
        //C = A + B  
        //成功返回1,失败返回-1  
        int add(_Matrix *A,_Matrix *B,_Matrix *C);  
        //C = A - B  
        //成功返回1,失败返回-1  
        int subtract(_Matrix *A,_Matrix *B,_Matrix *C);  
        //C = A * B  
        //成功返回1,失败返回-1  
        int multiply(_Matrix *A,_Matrix *B,_Matrix *C);  
        //行列式的值,只能计算2 * 2,3 * 3  
        //失败返回-31415,成功返回值  
        float _Matrix_Calc::det(_Matrix *A);  
        //求转置矩阵,B = AT  
        //成功返回1,失败返回-1  
        int transpos(_Matrix *A,_Matrix *B);  
        //求逆矩阵,B = A^(-1)  
        //成功返回1,失败返回-1  
        int inverse(_Matrix *A,_Matrix *B);  
    };  
    
    #endif  
    
    点赞 评论 复制链接分享

相关推荐