自己寫的蛇形矩陣:(蛇形矩陣就是在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...