2013-12-11 111 views
-1

我正在尝试创建分数矩阵。 首先,我创建一个类矩阵,并定义方法,如创建一个新矩阵,删除矩阵,求解一个矩阵(高斯和高斯 - 乔丹方法)。矩阵上的所有值都是浮点数。我编译所有和作品: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(i=0;i<3;i++) 
    myMethod(n1,n2); 

PD2:对像循环创建对不起,我的英语,我希望你明白我:(

+1

您可以创建一个用fraction操作的类,并将此类的对象保留在特殊的矩阵类中。 – Constructor

回答

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

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

1

据我所知,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]); 

希望这会有所帮助。

+0

谢谢:)但我最终解决了这个问题。我读了数字,然后把它们分开,这就是一个十进制数字,这个十进制数字在矩阵中,我解决了矩阵中的操作,最后,十进制数字按照比例转换,顺便说一句,我要发布最终的程序后::) – AlbertoAlegria

+0

对不起英语,我昨晚不能睡觉,谷歌翻译其一个sh ** c: – AlbertoAlegria