逆蛇型矩陣(螺旋魔方矩陣)

2021-04-12 23:52:57 字數 1128 閱讀 4726

輸入乙個自然數n(2≤n≤9),要求輸出如下的魔方陣,即邊長為n*n,元素取值為1至n*n,1在左上角,呈順時針方向依次放置各元素。  

n=3時:  

1   2   3  

8   9   4  

7   6   5  

【輸入形式】  

從標準輸入讀取乙個整數n。    

【輸出形式】  

向標準輸出列印結果。輸出符合要求的方陣,每個數字佔5個字元寬度,向右對齊,在每一行末均輸出乙個回車符。  

【輸入樣例】    

4  

【輸出樣例】  

1         2         3         4  

12       13       14         5  

11       16       15         6  

10         9         8         7    

#include

using namespace std;

void   snakematrix(   int   **addr,   int   n   );  

int main()

break;

case right:

if(++j >= n-1-layer)

break;

case up:

if(--i <= layer)

break;

case left:

if(--j <= layer+1)

break;

}}   }注釋

:昨晚有朋友叫我做這個題目,想了好久除了比較笨的每行每列的輸入,沒有想出什麼好的辦法。今天在網上搜尋了下這類題,

http://topic.csdn.net/t/20050513/14/4004333.html#-------這是鏈結位址。

自己總結了下,才有了以上**。

另外意外發現了乙個自己以前不知道的知識點,現在只是知道其然,不知道其所以然。具體情況如下:

在上題中,我剛開始給snakematrix()函式傳的是a的二級指標,然後在該函式中以addr[i*n+j]=num++;來訪問,但程式報錯,若傳的是二維陣列的首位址,卻能正常執行。

螺旋矩陣 蛇形矩陣

問題描述 給定乙個包含m行n列的m x n矩陣,程式設計按照螺旋順序,輸出該矩陣中的所有元素。輸入有多個矩陣。每個矩陣資料的第1行有兩個整數m和n,接著是乙個mxn矩陣的描述,有m行,每行有n個整數 輸出對每個矩陣資料,按照螺旋順序輸出矩陣陣列的元素。輸入樣例 3 31 2 3 4 5 6 7 8 ...

螺旋方針(螺旋矩陣)

螺旋方陣 time limit 1000ms memory limit 65536kb problem description 的螺旋方陣當n 5和n 3時分別是如下的形式 請給出乙個程式,對於任意的輸入 0 11 輸出按照上面規律所獲得的 的螺旋方陣。input 輸入第一行為整數 0 10 代表有...

列印魔方矩陣

列印魔方矩陣 define crt secure no warnings 1 include define n 5 5階魔方矩陣 模仿矩陣即 每一行之和 和 每一列之和 和 對角線之和 相等 8 1 6 3 5 7 4 9 2 3階魔方矩陣 每一行之和 和 每一列之和 和 對角線之和 均等與15 實...