蛇形矩陣與螺旋矩陣

2021-06-25 15:18:34 字數 1189 閱讀 1439

自己寫的蛇形矩陣:(蛇形矩陣就是在nxn矩陣格仔上從左上到右下以「之」字型增加或減少,像蛇盤繞著的形狀。本程式從左上開始盤旋一直到右下達到最大值)

#include using namespace std;

#define n 10//輸入要更改的矩陣大小

void main()

,k=1,j=0,i=0,s1[4]=,t1[4]=,m=0;

for (int t=1;t<=n;t++) m+=t;

while(k!=m+1)//左上三角形

else if (s1[1]==k-1)

s1[1]+=2*t1[1]+3;

t1[1]+=2;

} else if (s1[2]==k-1)

else //if(s1[3]==k-1)

s1[3]+=2*t1[3]+3;

t1[3]+=2;

} }j=n-1,i=n-1,k=n*n;

int s2[4]=,t2[4]=;

while (k!=m)//右下三角形

else if (s2[1]==k-1)

s2[1]-=2*t2[1]+3;

t2[1]+=2;

} else if (s2[2]==k-1)

else //if(s2[3]==k-1)

s2[3]-=2*t2[3]+3;

t2[3]+=2;

} }for (i=0;i輸出樣例:

自己寫的螺旋矩陣:(螺旋矩陣像漩渦從外面開始旋轉不斷旋轉到內部,可以是順時針也可以是逆時針,本程式採用順時針從外及裡不斷遞增)

#include using namespace std;

#define n 6//輸入矩陣的規模

void main()

,k=1,i=0,j=n-1,p=0,t=1,q=n;//資料初始化

while(k!=n*n+1)

else if (i>p&&j==p)

else if (j輸出樣例:

以上兩個程式均屬於原創。

螺旋矩陣 蛇形矩陣

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

螺旋矩陣和蛇形矩陣

include include using namespace std define pi 3.14 class a define n 6 int s n n int matrix 8 define maxsize 100 int a maxsize maxsize void creat sz in...

蛇形矩陣 和螺旋矩陣

1.蛇形方陣 1 2 3 6 5 4 7 8 9 外層控制層數,內層根據列數控制方向 0 則往右走 n 1則往左走 include include include define size 100 int a size size int main int argc,const char argv el...