順時針列印矩陣

2021-10-06 01:18:02 字數 1314 閱讀 9383

《劍指offer》中題29

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

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。

從外向內列印,我們只要從外向內層列印向右,向下,向左,向上資料即可。

需要注意一下臨界值即可。

// printmatrix.cpp

#include void printmatrixincircle(int** numbers, int columns, int rows, int start);

void printnumber(int number);

void printmatrixclockwisely(int** numbers, int columns, int rows)

}void printmatrixincircle(int** numbers, int columns, int rows, int start)

// 從上到下列印一列

if(start < endy)

}// 從右到左列印一行

if(start < endx && start < endy)

}// 從下到上列印一行

if(start < endx && start < endy - 1)

}}void printnumber(int number)

// ********************測試**********************

void test(int columns, int rows)

}printmatrixclockwisely(numbers, columns, rows);

printf("\n");

for(int i = 0; i < rows; ++i)

delete (int*)numbers[i];

delete numbers;

}int main(int argc, char* ar**)

執行結果:

順時針列印矩陣

輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。例如 如果輸入如下矩陣 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看著就煩,就是...

順時針列印矩陣

題目 給定乙個矩陣,從外向內順時針列印矩陣中的每乙個數字。例如 給定矩陣 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...