【問題描述】
矩陣是線性代數中的重要概念,應用領域非常廣泛,在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...