自己測試可以的,但線上測會出現RE,請問我應該要修正哪裡,如果有人知道的話請提示我,謝謝您~
#include <iostream> using namespace std; //先設定可儲存矩陣數值的儲存格,因為無法得知陣列大小,所以要用指標來寫 int main() { int m, n; while (cin >> m >> n) { //創建儲存格等下才能存放數值 int **matrix = new int *[m];//設定儲存格(矩陣)有m列 for (int i = 0; i < m; i++) { matrix[i] = new int[n];//將原本每列儲存格區分成n行 } //讓使用者輸入矩陣內數值 for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { cin >> matrix[i][j]; } } //翻轉矩陣,列換行,行換列 for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cout << matrix[j][i]; if (j != m - 1) { cout << " "; } } cout << endl; } //用完要歸還記憶體 for (int i = 0; i < m; i++) { delete[] matrix[i]; delete[] matrix; } } return 0; }
//翻轉矩陣,列換行,行換列 for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cout << matrix[j][i]; if (j != m - 1) { cout << " "; } } cout << endl; }
不是直接對調行列 index ,以輸入範例來看,你實際帶數字進去看就會發現問題