在我的課程中,我們得到的任務總是從用亂數填充隨機矩陣大小nxm開始。
我想創建(一個庫?,一個類?)一些結構,所以比任何時候我想生成一個矩陣A我只需要輸入所需的大小nxm。
換句話說,將所有這些代碼更改為 #include <myrandommatrixgenerator>.
int n, m;
cout << "Enter number of rows (n): ";
cin >> n;
cout << "Enter number of columns (m): ";
cin >> m;
//matrix b with random numbers
srand(time(NULL));
int max = 9, min = -9;
int *b = new int[n*m];
for (int i = 0; i<n; i )
{
for (int j = 0; j<m; j )
{
b[i*m j] = min ((rand() % max) 1);
}
}
//print matrix b
cout << "\nMatrix b:" << endl;
for (int i = 0; i<n; i )
{
for (int j = 0; j<m; j )
{
cout << setw(5) << b[i*m j];
}
cout << endl;
}
我對 C 的可能性沒有一個廣泛的概述,那么允許我這樣做的結構是什么?
uj5u.com熱心網友回復:
以下概述了您可以采取哪些措施來實作這一目標:
- 定義一個類,例如
MyMatrix. 一個類可以封裝與之相關的資料和操作。該類可以放在單獨的檔案中(h 和 cpp)。友好指南:C 類和物件 - w3schooles。 - 此類應該使用例如 a
std::vector來保存資料(比在代碼中使用原始指標更好)。 - 此類應具有用于獲取元資料 (n,m) 和資料的公共方法。
- 此類應該有一個公共方法,例如:
InitRandom(int n, int m),將MyMatrix物件初始化為具有隨機值的矩陣大小 nxm。 - 在你程式的另一部分,你可以
#include在你的 class h 檔案中,然后實體化一個MyMatrix物件,并使用InitRandom它來做你需要的事情。
您可以在這里看到有關實作矩陣類的討論:https ://codereview.stackexchange.com/questions/155811/basic-matrix-class-in-c
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/472989.html
