類與物件(一) 6 矩陣計算

2021-10-12 08:26:58 字數 1557 閱讀 7401

【問題描述】

矩陣是線性代數中的重要概念,應用領域非常廣泛,在c/c++中,通常將矩陣定義為乙個二維陣列。

本問題中,將輸入兩個矩陣 a 和 b,實現對矩陣的數乘、矩陣加法、矩陣乘法以及行列式的計算。

如果對矩陣的演算法不了解,請查閱相關資料。

【輸入形式】

輸入的第一行為兩個正整數 m 和 n,分別表示矩陣 a 的行數和列數;

接下來的 m 行,每行 n 個用空格分隔的整數,表示矩陣 a 的元素值;

接下來的一行,為乙個整數 x, 用於對矩陣 a 進行數乘;

接下來的一行為兩個正整數 k 和 l, 分別表示矩陣 b 的行數和列數;

接下來的 k 行,每行為 l 個用空格分隔的整數,表示矩陣 b 的元素值。

【輸出形式】

(既然都已經找到了這裡後面是啥就不重要了凸(`0´)凸)

#include

#include

using

namespace std;

class

matrix

;matrix::

matrix

(int

&m,int

&n)}

matrix::

matrix

(matrix &a,

int m,

int n)

//從矩陣a中刪除第m行第n列後得到新的矩陣

int i, j, a, b;

for(i = a =

0; i < a.rows; i++

) a++;}

}matrix::

~matrix()

matrix matrix::

multi

(int x)

// 數乘

}return tmp;

}void matrix::

out(

)//輸出矩陣

cout << endl;}}

void matrix::

input()

matrix matrix::

operator

+(matrix &another)

//過載加法運算實現矩陣相加

}return tmp;

}matrix matrix::

operator

*(matrix &another)

//過載乘法運算實現矩陣相乘}}

return tmp;

}int matrix::

det(

)return result;}}

intmain()

/* 求矩陣a和矩陣b的乘積矩陣 */

if(n == k)

/* 矩陣a的行列式的值 */

if(m == n)

cout << ma.

det(

)<< endl;

if(k == l)

cout << mb.

det(

)<< endl;

return0;

}

6 類與物件

目錄 類宣告公有 私有 保護成員 資料抽象和封裝 內聯成員函式 成員函式的過載及其預設引數 類與結構體 隱含的this指標 類作用域 前向宣告 巢狀類區域性類 類是一種使用者自定義型別,宣告形式 class 類名稱 在關鍵字 public 後面宣告,它們是類與外部的介面,任何外部函式都可以訪問公有型...

類與物件(一)

類和物件 類是具有相同特徵和行為的物件的抽象定義,客觀存在的具體事物都是物件,物件是類的例項 舉個栗子,車是個類,具體的車 寶馬,賓士等等屬於類的例項是物件,特徵 外觀,效能,高度等等屬於字段屬性,行為 轉向,倒車等等屬於方法 類的定義 舉個栗子,乙個遊戲裡是不是有很多boss,這些boss就具有一...

類與物件 一

對具體物件進行概括,抽出一類物件的公共性質並加以描述的過程 資料抽象 int hour,int min 行為抽象 功能抽象 showtime settime 封裝的意義 公共許可權 public 類內可以訪問 類外可以訪問 保護許可權 protected 類內可以訪問 類外不可以訪問 私有許可權 p...