順時針列印矩陣

2021-06-08 20:57:36 字數 1160 閱讀 8023

輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。

例如:如果輸入如下矩陣:

1             

2             

3             

45             

6             

7             

89             

10          

11          

1213          

14          

15          

16則依次列印出數字

1, 2, 3, 4, 8, 12, 16, 15, 14, 13, 9, 5, 6, 7, 11, 10。

這個題目**寫的並不好感覺,好多if看著就煩,就是提供乙個思路,用乙個標識矩陣flag來標識這個值是否被訪問過。然後搜尋方向變化為右、下、左、上。其實也可以逆時針的訪問。

#include using namespace std;

void printmatrix (int **matrix, int i, int j);

enum direction

;int main ()

void printmatrix (int **matrix, int row, int col)

else //這一行的第一列與最後一列置為1

}int flag_row = 1;

int flag_col = 1;

direction dir = dir_right;

for (int i = 0; i < row * col; i++)

else

dir = dir_down;

}if (dir == dir_down)

else

dir = dir_left;

}if (dir == dir_left)

else

dir = dir_up;

}if (dir == dir_up)

else

dir = dir_right;}}

}for (int i = 0; i < row + 2; i++)

}

順時針列印矩陣

題目 給定乙個矩陣,從外向內順時針列印矩陣中的每乙個數字。例如 給定矩陣 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 輸出應該為 分析 這道題的意思非常直觀,給人的感覺也是so easy,然而實際去做的時候會發現,如果結構劃分的不好,會出現很多的迴圈,而且包括對各種...

順時針列印矩陣

from 題目 輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。例如 如果輸入如下矩陣 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 則依次列印出數字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。網上聽說聽到包括autod...

順時針列印矩陣

來自 38 順時針列印矩陣 題目 輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。例如 如果輸入如下矩陣 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 則依次列印出數字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。分析 包...