《劍指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...