#22454: 出現RE錯誤


s10350255@nhsh.tp.edu.tw (黃馨校友)

學校 : 不指定學校
編號 : 74590
來源 : [140.113.177.176]
最後登入時間 :
2020-09-07 14:37:23
a015. 矩陣的翻轉 | From: [140.113.177.176] | 發表日期 : 2020-09-05 22:53

自己測試可以的,但線上測會出現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;
}
 
#22455: Re:出現RE錯誤


kkmomo (kkmomo)

學校 : 不指定學校
編號 : 29247
來源 : [114.24.230.4]
最後登入時間 :
2022-06-22 22:10:17
a015. 矩陣的翻轉 | From: [118.166.121.163] | 發表日期 : 2020-09-06 03:10

 

		//翻轉矩陣,列換行,行換列
		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 ,以輸入範例來看,你實際帶數字進去看就會發現問題

 
ZeroJudge Forum