Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 创建一个分数矩阵_C++_C_Matrix_Fractions - Fatal编程技术网

C++ 创建一个分数矩阵

C++ 创建一个分数矩阵,c++,c,matrix,fractions,C++,C,Matrix,Fractions,我正在尝试创建一个分数矩阵。 首先,我创建了一个类矩阵,并定义了一些方法,比如创建新矩阵、删除矩阵、求解矩阵(高斯和高斯-乔丹方法)。矩阵上的所有值都是浮点值。我编译了all,works:D。但现在,我正在尝试创建另一个矩阵,正好等于第一个矩阵,但这只需要用于分数。这是我的问题,我怎么做?我如何创建一个接收2个数字的方法(例如:myMethod(2,3)),将它们视为2/3,并将其置于矩阵位置?我的目标是拥有这样的东西: 矩阵: 1/2 2/3 1/5 2/5 3/4 3/2

我正在尝试创建一个分数矩阵。 首先,我创建了一个类矩阵,并定义了一些方法,比如创建新矩阵、删除矩阵、求解矩阵(高斯和高斯-乔丹方法)。矩阵上的所有值都是浮点值。我编译了all,works: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);
用于(i=0;i
模板
类矩阵{
// ...
}:

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

我理解,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]);
Mat分子[3][3];
Mat分母[3][3];
cin>>分子[0][0]>>分母[0][0];
//……对于所有元素
//展示

您可以创建一个用于分数运算的类,并将该类的对象保留在特殊的矩阵类中。谢谢:)但我最终解决了这个问题。我读了数字,然后把它们分开,这是一个十进制数,这个十进制数在矩阵中,我解了矩阵中的运算,最后,十进制数被转换成分数,顺便说一句,我稍后会发布最后的程序:]对不起,英语,我昨晚睡不着,谷歌翻译是一个sh**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]);