|
C++机试题,有学分的哦
要求:
提交类声明头文件、类实现文件和测试程序文件3个源代码文件;
题目:
2. (A) 使用C++设计矩阵类及相应的测试主程序。该矩阵类可进行基本的统计计算,矩阵类的每一行为一向量,基本统计计算针对该向量进行。矩阵生成可如1方式实现,也应该可以从磁盘文件中读入。矩阵的行、列数有默认值,也可通过类成员函数设置更改;如从磁盘文件读入,该磁盘文件名及其存储路径有默认值,也可通过类成员函数设置更改;矩阵类有加、减、乘、判断相等的运算成员函数;基本统计计算包括求均值、协方差;基本统计计算结果在该类对象退出作用域时可自动存入磁盘文件,该磁盘文件名及其存储路径有默认值,也可通过类成员函数设置更改。
(B) 在按上述要求实现的C++类中添加可求协方差矩阵对应的行列式值和求矩阵(方阵)逆的类成员,更改测试主程序对此加以验证。
提示:
(A) 矩阵类的加、减、乘、判断相等的运算成员函数可实现成普通函数, 也可实现成重载的运算符函数(+, -, *, ==)。磁盘文件名及其存储路径可分别用字符串类(string)实现。
(B) 矩阵(方阵)对应的行列式值和逆
实现行列式值求解的全选主元高斯(Gauss)消去法的C函数示例如下:
#include "math.h"
double sdet(double a[], int n)
{ int i,j,k,is,js,l,u,v;
double f,det,q,d;
f=1.0; det=1.0;
for (k=0; k<=n-2; k++)
{ q=0.0;
for (i=k; i<=n-1; i++)
for (j=k; j<=n-1; j++) |
|