创建分数矩阵

Create a fractions matrix

本文关键字:创建      更新时间:2023-10-16

我正在尝试创建一个分数矩阵。首先,我创建了一个类Matrix,并定义了一些方法,比如创建一个新矩阵、删除矩阵、求解矩阵(高斯和高斯-乔丹方法)。矩阵上的所有值都是浮点值。我编译了所有的作品:D。但现在,我正试图创建另一个矩阵,与第一个矩阵完全相等,但这只需要用于分数。这是我的问题,我该怎么做?我如何创建一个接收2个数字(例如:myMethod(2,3))的方法,将这些数字视为2/3并放入矩阵位置?我的目标是拥有这样的东西:

矩阵:

1/2   2/3   1/5
2/5   3/4   3/2
2/7   3/5   1/3

所有号码都将由用户发送,例如cin>>n1>>n2;(实际上这是n1/n2

PD:我在考虑创建一个for循环,比如:

for(i=0;i<3;i++)
    myMethod(n1,n2);

PD2:对不起我的英语,我希望你能理解我:(

据我所知,c++不能以本机方式处理分数。你能做的最好的事情就是漂浮。或者,如果您只是想将矩阵显示为分数(并可能对其进行一些操作),则可以执行以下操作。

Mat numerator[3][3];
Mat denominator[3][3];
cin>>numerator[0][0]>>denominator[0][0];
//.... for all elements
//Display
cout<<numerator[0][0]<<"/"<<denominator[0][0];
//operations
newmatrix[0][0] = numerator1[0][0]*numerator2[0][0] / (denominator1[0][0]*denominator1[0][0]);

希望这能有所帮助。

template <typename NumberType>
class Matrix {
   // ...
}:

并考虑对每个支持的数字类型进行数学运算。