C 實現矩陣類和向量類

2022-01-19 23:43:39 字數 1774 閱讀 6803

c++期末作業內容,寫完之後覺得過於臃腫,又重新搞了個新的。新的當作業交,舊的拿來給同學參考。

【問題描述】請仿照複數類,設計乙個矩陣類,設計矩陣類的構成元素

1.編寫建構函式完成初始化

2.編寫成員函式,讀入乙個矩陣,輸出乙個矩陣

3.編寫成員函式,計算兩個矩陣相加、相減、點乘

4.編寫成員函式,利用運算子過載計算兩個矩陣的相加、相乘、點乘、輸出,並輸出計算結果

例如輸入3 3,表示是乙個3*3的矩陣,輸入乙個矩陣

1.0 1.0 1.0

3.0 3.0 3.0

6.0 6.0 6.0

再輸入3 3,再輸入乙個矩陣

9.0 9.0 9.0

6.0 6.0 6.0

5.0 5.0 5.0

輸出相加的結果為

10.0 10.0 10.0

9.0 9.0 9.0

11.0 11.0 11.0

輸出相減的結果為

-8.0 -8.0 -8.0

-3.0 -3.0 -3.0

1.0 1.0 1.0

輸出點乘的結果為

20.0 20.0 20.0

60.0 60.0 60.0

120.0 120.0 120.0

【問題描述】基於以上的矩陣類和向量類,編寫友元函式計算矩陣乘以向量

例如例如輸入3 3,表示是乙個3*3的矩陣,輸入乙個矩陣

1.0 1.0 1.0

3.0 3.0 3.0

6.0 6.0 6.0

例如輸入3,表示是乙個3維列向量,輸入乙個列向量

1.2 3.4 5.6

輸出結果為

10.2 30.6 61.2

#include using namespace std;

const int maxdimension=100; //維數上限

class vector

vector(vector& source)

} void output()

}} void output()}}

return result;

} matrix mulvector(vector vec)

}return result;

}};int main(){

vector a,b,c;

matrix d,e,f;

cout<

a.input();

cout<

b.input();

cout<

c=a+b;

c.output();

cout<

c=a-b;

c.output();

cout<

cout測試資料:

31.2 3.4 5.6

37.8 9.0 2.1

3 31.0 1.0 1.0

3.0 3.0 3.0

6.0 6.0 6.0

3 39.0 9.0 9.0

6.0 6.0 6.0

5.0 5.0 5.0

3 31.0 1.0 1.0

3.0 3.0 3.0

6.0 6.0 6.0

31.2 3.4 5.6

測試結果:

原寫於2023年05月28日 12:37:45

CMatrix類 矩陣類 C

pragma once class matrix 返回行 intcol const 返回列 void setsize int row,int col 調整陣列的大小,原有資料不變 未測試 double operator int row,int col 獲取矩陣元素 double operator i...

c 的向量類

下例中定義了乙個向量類,並對向量定義了一系列操作 檔案結構 定義兩種模式,一種為直角座標,一種為極座標,狀態成員 private double x double y 直角座標系的橫縱座標 double distance double angle 極座標的角度及距離 mode mode void se...

C 順序容器類 向量類 列表類和雙端佇列類

順序容器 包括向量 vector 列表 list 和雙端佇列 deque vector類和deque類是以陣列為基礎的,list類是以雙向鍊錶為基礎的。與陣列不同,vector的記憶體用盡時,vector自動分配更大的連續記憶體區,將原先的元素複製到新的記憶體區,並釋放舊的記憶體區。這是向量類的優點...