C++ 创建一个分数矩阵
我正在尝试创建一个分数矩阵。 首先,我创建了一个类矩阵,并定义了一些方法,比如创建新矩阵、删除矩阵、求解矩阵(高斯和高斯-乔丹方法)。矩阵上的所有值都是浮点值。我编译了all,works:D。但现在,我正在尝试创建另一个矩阵,正好等于第一个矩阵,但这只需要用于分数。这是我的问题,我怎么做?我如何创建一个接收2个数字的方法(例如: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
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]);