怎么用C++定义一个4*4的矩阵,自己构造数据成员和成员函数,
最佳回答
最新回答共有2条回答
-
2026-04-07 21:30:54呆萌的灰狼
回复#include <stdio。h>#include <string。h>class Matrix{\x05double m_Data[16];\x05double* m_pRowhead[4];public:\x05Matrix()\x05{\x05\x05memset(m_Data, 0, 16*sizeof(double));\x05\x05for(int i = 0; i < 4; i++)\x05\x05\x05m_pRowhead[i] = m_Data + i*4;\x05\x05\x05}\x05Matrix(const double* pArr)\x05{\x05\x05CopyFrom(pArr);\x05\x05for(int i = 0; i < 4; i++)\x05\x05\x05m_pRowhead[i] = m_Data + i*4;\x05}\x05Matrix(const Matrix& mat)\x05{\x05\x05CopyFrom(mat。m_Data);\x05\x05for(int i = 0; i < 4; i++)\x05\x05\x05m_pRowhead[i] = m_Data + i*4;\x05}\x05void CopyFrom(const double* pArr)\x05{\x05\x05memcpy_s(m_Data, 16*sizeof(double), pArr, 16*sizeof(double));\x05}\x05double* operator[] (int nRowIndex)\x05{\x05\x05return m_pRowhead[nRowIndex];\x05}\x05const double* operator[] (int nRowIndex) const\x05{\x05\x05return m_pRowhead[nRowIndex];\x05}\x05double GetDiagonalSum(bool bMainDiagonal = true) const\x05{\x05\x05double sum = 0。0;\x05\x05int i;\x05\x05if(bMainDiagonal)\x05\x05{\x05\x05\x05for(i = 0; i < 4; i++)\x05\x05\x05\x05sum += m_pRowhead[i][i];\x05\x05}\x05\x05else\x05\x05{\x05\x05\x05for(i = 0; i < 4; i++)\x05\x05\x05\x05sum += m_pRowhead[i][3-i];\x05\x05}\x05\x05return sum;\x05}\x05void PrintMatrix() const\x05{\x05\x05for(int i = 0; i < 4; i++)\x05\x05{\x05\x05\x05for(int j = 0; j < 4; j++)\x05\x05\x05\x05printf_s("%。2lf\t", m_pRowhead[i][j]);\x05\x05\x05printf_s("\n");\x05\x05}\x05}};void main(){\x05double a[16] = {1。0, 2。0, 3。0, 4。0,\x05\x05\x05\x05\x055。0, 6。0, 7。0, 8。0,\x05\x05\x05\x05\x059。0, 8。0, 7。0, 6。0,\x05\x05\x05\x05\x055。0, 4。0, 3。0, 2。0};\x05Matrix mat(a);\x05mat[0][0] = 2。5;\x05printf_s("主对角线之和为:%。4lf\n", mat。GetDiagonalSum());\x05printf_s("副对角线之和为:%。4lf\n", mat。GetDiagonalSum(false));\x05printf_s("打印矩阵:\n");\x05mat。PrintMatrix();}
热门文章
- 康达学院专转本五年制
- 高考一个考场分ab卷吗
- not only but also用法
- 某物体做自由落体运动,从释放开始计时,则物体在前2s内的平均速度为______m/s,物体下落2m时的速度大小为______m/s.
- 三角函数公式大全表格
- 地理中考必背知识点2022
- 2013-2014学年小学六年级科学上学期期末考试试卷及答案
- 人教版2014-2015学年小学五年级英语第二学期期中教学质量检测试卷及答案
- 【Linux驱动开发】设备树详解(二)设备树语法详解
- 别跟客户扯细节
- 在别的城市买房子能落户吗
- 卖房前要把装修贷还完吗
- 高中政治教学提高教学效果的方法探究
- “互联网+”背景下的初中英语课堂教学改革与创新策略研究
- 2022年终止合同范本
- 租房合同范本范文
- 如何挑选土豆
- 如何挑选土鸡
