2013-12-11 136 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