1 #include<iostream> 2 using namespace std; 3 int main() { 4 int n, m, x, k; 5 int A[100][100], B[100][100], C[100][100]; 6 int choice = 0; 7 8 9 cout << "****歡迎使用矩陣運算器****" << endl; 10 cout << "請輸入矩陣A的行數和列數:" << endl; 11 cin >> n >> m; 12 cout << "請輸入矩陣A:" << endl; 13 for (int i = 0; i < n; i++) 14 { 15 for (int j = 0; j < m; j++) 16 { 17 cin >> A[i][j]; 18 } 19 20 } 21 cout << "請輸入矩陣B的行數和列數:" << endl; 22 cin >> x >> k; 23 cout << "請輸入矩陣B:" << endl; 24 for (int i = 0; i < x; i++) 25 { 26 for (int j = 0; j < k; j++) 27 { 28 cin >> B[i][j]; 29 } 30 31 } 32 cout << "矩陣A爲:" << endl; 33 for (int i = 0; i < n; i++) 34 { 35 for (int j = 0; j < m; j++) 36 { 37 cout << A[i][j] << " "; 38 } 39 cout << endl; 40 41 } 42 cout << "矩陣B爲:" << endl; 43 for (int i = 0; i < x; i++) 44 { 45 for (int j = 0; j < k; j++) 46 { 47 cout << B[i][j] << " "; 48 } 49 cout << endl; 50 } 51 cout << "請選擇相應的序號使用其功能" << endl; 52 cout << "1.矩陣相加" << endl; 53 cout << "2.矩陣相減" << endl; 54 cout << "3.矩陣相乘" << endl; 55 cin >> choice; 56 if (choice == 1 || choice == 2) 57 { 58 if (n != x || m != k) 59 { 60 cout << "運算出錯,請檢查矩陣A,B的行數列數是否相等" << endl; 61 } 62 else if (choice == 1) 63 { 64 cout << "矩陣A,B相加的結果爲:" << endl; 65 for (int i = 0; i < n; i++) 66 { 67 for (int j = 0; j < m; j++) 68 { 69 C[i][j] = A[i][j] + B[i][j]; 70 cout << C[i][j] << " "; 71 } 72 cout << endl; 73 } 74 } 75 else if (choice == 2) 76 { 77 cout << "矩陣A,B相減的結果爲:" << endl; 78 for (int i = 0; i < n; i++) 79 { 80 for (int j = 0; j < m; j++) 81 { 82 C[i][j] = A[i][j] - B[i][j]; 83 cout << C[i][j] << " "; 84 } 85 cout << endl; 86 } 87 } 88 89 } 90 if (choice == 3) 91 { 92 if (m != x) 93 { 94 cout << "運算出錯,請檢查矩陣A的列數是否與矩陣B的行數相等" << endl; 95 } 96 else 97 { 98 int i, j; 99 C[0][0] = 0; 100 for (i = 0; i < x; i++) 101 { 102 for (j = 0; j < k; j++) 103 { 104 for (int t = 0; t < m; t++) 105 { 106 C[i][j] += A[i][t] * B[t][j]; 107 } 108 } 109 } 110 cout << "矩陣A,B相乘的結果爲:" << endl; 111 for (int i = 0; i < x; i++) { 112 for (int j = 0; j < k; j++) { 113 cout << C[i][j] << " "; 114 } 115 cout << endl; 116 } 117 } 118 119 120 } 121 122 return 0; 123 124 }