21:二維陣列右上左下遍歷
阿新 • • 發佈:2018-12-24
- 總時間限制:
- 1000ms
- 記憶體限制:
- 65536kB
- 描述
-
給定一個row行col列的整數陣列array,要求從array[0][0]元素開始,按從左上到右下的對角線順序遍歷整個陣列。
- 輸入
- 輸入的第一行上有兩個整數,依次為row和col。
餘下有row行,每行包含col個整數,構成一個二維整數陣列。
(注:輸入的row和col保證0 < row < 100, 0 < col < 100) - 輸出
- 按遍歷順序輸出每個整數。每個整數佔一行。
- 樣例輸入
-
3 4 1 2 4 7 3 5 8 10 6 9 11 12
- 樣例輸出
-
1 2 3 4 5 6 7 8 9 10 11 12
原始碼
#include <iostream> #include <cstring> using namespace std; int main() { int A[100][100]; int row, col, i, j, r=0, c=0; cin >> row >> col; for (i=0; i<row; i++) for (j=0; j<col; j++) cin >> A[i][j]; // 首先以第0行,列遞增為起點遍歷col次 for (j=0; j<col; j++){ r = 0; c = j; while (r<row && c>=0) cout << A[r++][c--] << endl; } // 然後以第col-1列,行遞增為起點遍歷row-1次 for (i=1; i<row; i++){ r = i; c = col-1; while (r<row && c>=0) cout << A[r++][c--] << endl; } return 0; }