1、螺旋矩陣
題目描述
輸入n,試列印輸出n*n的 螺旋矩陣(每個元素佔4位場寬)。
輸入例如n=7,矩陣如下圖:
輸出
原始碼:
#include
#include
using
namespace std;
//螺旋矩陣
intmain()
;int cnt =1;
int x =
0, y =0;
int dx =
0, dy =1;
while
(cnt <= n*n)
else
if(dx ==1&&
(x >= n-
1|| arr[x+1]
[y]!=0)
)else
if(dy ==-1
&&(y <=
0|| arr[x]
[y-1]!=
0))else
if(dx ==-1
&&(x <=
0|| arr[x-1]
[y]!=0)
) cnt++;}
for(
int i =
0; i < n; i++
) cout << endl;
}return0;
}
2、回形矩陣題目描述
輸入n,試列印輸出n*n的 回形矩陣(每個元素佔4位場寬)。
輸入第一行為乙個整數n(1≤n≤20),
例如n=7,矩陣如下圖:
輸出
原始碼:
#include
#include
using
namespace std;
//回形矩陣
intmain()
;int cnt =1;
int x =
0, y =0;
int dx =
0, dy =1;
int temp =0;
while
(cnt <= n * n)
else
if(dx ==1&&
(x >= n -
1|| arr[x +1]
[y]!=0)
)else
if(dy ==-1
&&(y <=
0|| arr[x]
[y -1]
!=0))
else
if(dx ==-1
&&(x <=
0|| arr[x -1]
[y]!=0)
) cnt++;}
for(
int i =
0; i < n; i++
) cout << endl;
}return0;
}
3、蛇形矩陣題目描述
輸入n,試列印輸出n*n的 蛇形矩陣(每個元素佔4位場寬)。
輸入例如n=7,矩陣如下圖:
輸出
原始碼:
#include
#include
using
namespace std;
//蛇形矩陣
intmain()
;int dx =-1
, dy =
1, num =
1, x =
0, y =0;
int flag =0;
//標記是否進入右下部分
while
(num <= n * n)
else
y++;}
elseif(
(x > n -
1|| y <0)
&& dx ==
1&& dy ==-1
)else
x++;}
num++;}
for(
int i =
0; i < n; i++
) cout << endl;
}return0;
}
蛇形(回形)矩陣
如下 蛇形 回形 矩陣的實現 解題思路 整體思路 每一圈的數值都是連續的,所以我們一圈一圈的賦值 對一圈的初始化 1 設定 p,p 每一圈最左上角的座標 q,q 每一圈最右下角的座標 2 對每一圈分四部 上,右,下,左 分別初始化 為了使這四步對稱 賦值個數相同 按下圖這樣初始化 1的位置初始化 上...
螺旋矩陣 蛇形矩陣
問題描述 給定乙個包含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...