C 實現矩陣乘法,要求 資料由使用者輸入

2021-09-02 22:48:33 字數 917 閱讀 8282

實現矩陣的乘法需要2個步驟:

1輸入矩陣資料:首先定義三個矩陣int a[100][100], int b[100][100],int c[100][100](注意陣列後的值必須為常數。)

a,b實現兩個矩陣相乘,c用來儲存最終結果。雖然我們的矩陣可能沒有100*100個資料,但是也沒有太大影響,我們

可以讓使用者決定矩陣的行與列(行<=100,列<=100),並用for輸入資料

2矩陣乘法的實現: 矩陣的乘法法則就不多說了,行乘以列對應相加,用3個for實現2個矩陣所有資料的遍歷

用c[i][k] += ((a[i][j])*(b[j][k]))實現矩陣的乘法操作。

具體**如下:

#include "pch.h"

#include using namespace std;

int a[100][100];

int b[100][100];

int c[100][100];

int main()

} cout << "請輸入第二個矩陣的資料:" << endl;

for (int i = 0; i < n; i++) }

for (int j = 0; j < n; j++)

}} cout << "結果為:" << endl;

for (int i = 0; i < m; i++)

cout << endl;

} return 0;

}

注意:資料超出會cin會產生錯誤(結果不正確)。歸其原因:輸入資料是如果輸入乙個再按一下空格函式並沒用執行

如果輸入的數剛好或較少,按enter不存在問題。因為數是在按enter輸入進入的,如果超標則會存在未知的問題。

換句話說,cin的正確輸入方法為輸入一下,按一下enter,這樣就不存在多輸的問題了。

矩陣乘法(Strassen演算法 C 實現)

問題 請程式設計實現矩陣乘法,並考慮當矩陣規模較大時的優化方法。思路一 暴力解法 直接根據數學中矩陣乘法的計算公式 計算目標矩陣中各個元素的值。思路一 暴力解法 矩陣乘法,3個for迴圈搞定 void mul int matrixa,int matrixb,int matrixc 思路二 stras...

C語言實現矩陣乘法

產生a 5行4列 b 4行3列 兩個隨機矩陣,每個元素是 10,10 之間的隨機整數並列印出來,列印出它們的乘積c矩陣。要求矩陣用 分隔開,以a,b,c的順序列印,各行對齊。include stdafx.h include include include include pragma warning...

c 矩陣作為函式輸入變數 C 實現矩陣乘法

最近學習c 做了乙個矩陣乘法的練習。先說一下功能,輸入兩個矩陣a,b,大小自己定,換行用 表示 matlab的習慣 然後輸出a b的矩陣。首先,由於輸入的矩陣維數是隨機的,因此,我們要設計程式,手動把行和列算出來,這樣方便後續乘法運算。並且把輸入的數字提取出來,放入乙個float型陣列中,這樣我們就...