保留for迴圈架構
採C++ STL vector
採用C++ operator overloading運算子重載
程式碼函數如下:
- int N = 2;
- vector<double> row(N);
- void MatrixM(vector<vector<double>>& C, vector<vector<double>> A, vector<vector<double>> B) {
- for(int i=0; i<N; i++)
- for (int j = 0; j < N; j++) {
- C[i][j] = 0;
- for (int k = 0; k < N; k++)
- C[i][j] += A[i][k] * B[k][j];
- }
- }
- void print(vector<vector<double>>& C) {
- for (int i = 0; i < N; i++) {
- for (int j = 0; j < N; j++)
- cout << C[i][j] << "\t";
- cout << "\n";
- }
- }
- vector<vector<double>>operator* (vector<vector<double>> A, vector<vector<double>> B) {
- vector<vector<double>> C(N, row);
- MatrixM(C, A, B);
- return C;
- }
沒有留言:
張貼留言