1. 程式人生 > >二維陣列右上左下遍歷(C程式設計進階第5周)

二維陣列右上左下遍歷(C程式設計進階第5周)

問題描述
給定一個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 <vector> using namespace std; int main() { int row = 0, rol = 0; cin >> row >> rol; // vector<vector<int>> array(row, rol);//使用vector提交作業提示:Compile Error,難道使用方法有誤?本地執行時正確的 int array[100][100] = {0}; for (int i = 0; i < row; i++) { for (int
j = 0; j < rol; j++) { cin >> array[i][j]; } } int x = 0, y = 0; for (int i = 0; i < row+rol-1; i++) { x = i > rol-1? i-rol+1 : 0; y = i-x; while (x <= row-1 && y >= 0) { cout << array
[x][y] << endl; x++; y--; } } return 0; }