C++實現蛇形矩陣
形如下面的矩陣稱為蛇形矩陣:
也稱為螺旋矩陣。
原始碼:
/*************************************************************************
> File Name: snake_matrix.cpp
> Author:
> Mail:
> Created Time: 2016年04月04日 星期一 17時29分57秒
************************************************************************/
#include <iostream>
using namespace std;
#define N 1000
class SnckMatrix{
public:
SnckMatrix(int n):num(n){
FillMtrix();
}
void print();
private:
void FillMtrix();
private:
int matrix[N][N];
int num;
};
void SnckMatrix::FillMtrix()
{
int x = 0, y = 0;
int val = 0;
int curr_x = num, curr_y = num;
while(x < curr_x && y < curr_y){
//填充一行
for(int i = y; i < curr_y; ++i){
matrix[x][i] = ++val;
}
for(int i = x+1; i < curr_x; ++i){
matrix[i][curr_y-1] = ++val;
}
for(int i = curr_y-2; i > y; --i){
matrix[curr_x-1][i] = ++val;
}
for(int i = curr_x-1; i > x; --i){
matrix[i][x] = ++val;
}
x++;
y++;
curr_x--;
curr_y--;
}
}
void SnckMatrix::print()
{
for(int i = 0; i < num; ++i){
for(int j = 0; j < num; ++j){
cout << matrix[i][j] << "\t";
}
cout << endl;
}
}
int main()
{
int size;
cout << "Input the matrix size: ";
cin >> size;
SnckMatrix matrix(size);
matrix.print();
return 0;
}
執行結果:
相關文章
- 用C語言輸出蛇形矩陣C語言矩陣
- 7-蛇形二維陣列陣列
- VIVADO vhdl verilog 實現矩陣運算矩陣
- verilog實現矩陣卷積運算矩陣卷積
- C語言實現矩陣螺旋輸出C語言矩陣
- LeetCode 59. 螺旋矩陣 II(python、c++)LeetCode矩陣PythonC++
- 資料結構實驗 二維矩陣的實現資料結構矩陣
- c語言中實現4行3列矩陣和3行4列矩陣的運算C語言矩陣
- 巨大的矩陣(矩陣加速)矩陣
- 鄰接矩陣、度矩陣矩陣
- 奇異矩陣,非奇異矩陣,偽逆矩陣矩陣
- 向量化實現矩陣運算最佳化(一)矩陣
- Python+numpy實現矩陣的行列擴充套件Python矩陣套件
- Bert結構手動矩陣運算實現(Transform)矩陣ORM
- STM32--矩陣鍵盤的設計實現矩陣
- hyperf 路由註解 方法小駝峰 url 蛇形實現路由
- C++ 練氣期之二維陣列與矩陣運算C++陣列矩陣
- 資料結構:陣列,稀疏矩陣,矩陣的壓縮。應用:矩陣的轉置,矩陣相乘資料結構陣列矩陣
- 矩陣矩陣
- 求任意矩陣的伴隨矩陣矩陣
- 矩陣和陣列矩陣陣列
- 劍指 Offer 12-矩陣中的路徑c++矩陣C++
- 劍指 Offer 29-順時針列印矩陣c++矩陣C++
- 理解矩陣矩陣
- 海浪矩陣矩陣
- 矩陣相乘矩陣
- 稀疏矩陣矩陣
- 螺旋矩陣矩陣
- 矩陣乘法矩陣
- 8.6 矩陣?矩陣
- 找矩陣矩陣
- 矩陣分解矩陣
- 快手矩陣管理平臺,矩陣管理有方法矩陣
- 什麼是新媒體矩陣運營?運營矩陣其實很簡單矩陣
- C++中OpenCV、Armadillo矩陣資料格式的轉換方式C++OpenCV矩陣
- 力扣566. 重塑矩陣-C語言實現-簡單題力扣矩陣C語言
- 機器學習中的矩陣向量求導(五) 矩陣對矩陣的求導機器學習矩陣求導
- 矩陣:如何使用矩陣操作進行 PageRank 計算?矩陣
- 演算法學習:矩陣快速冪/矩陣加速演算法矩陣