⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 snakematrix.cpp

📁 跟回旋矩阵类似,本程序为蛇行矩阵的输出, 通过建立四个方向标志控制矩阵的转向,矩阵为正方形的方阵
💻 CPP
字号:
#include <iostream.h>

#define N 8
#define TOEAST 1
#define TOWEST 2
#define TOSOUTH 3
#define TONORTH 4

void main(void)
{
int Counter = 1;
int LeftRight,UpDown;
int Flag = TOWEST;
int Matrix[N][N] = {0};

//确定本型矩阵的首个单元格
LeftRight = N / 2 - 1;
UpDown = N / 2 - 1;

while(Counter <= N*N)
{
//单元格付值
Matrix[UpDown][LeftRight] = Counter++;
switch(Flag)
{
case TOEAST:
if(Matrix[UpDown-1][LeftRight] == 0) //转向条件
{
UpDown--;
Flag = TONORTH;
}
else LeftRight++;
break;

case TONORTH:
if(Matrix[UpDown][LeftRight-1] == 0) //转向条件
{
LeftRight--;
Flag = TOWEST;
}
else UpDown--;
break;

case TOWEST:
if(Matrix[UpDown+1][LeftRight] == 0) //转向条件
{
UpDown++;
Flag = TOSOUTH;
}
else LeftRight--;
break;

case TOSOUTH:
if(Matrix[UpDown][LeftRight+1] == 0) //转向条件
{
LeftRight++;
Flag = TOEAST;
}
else UpDown++;
break;
}
}
//=====================输出矩阵=======================
cout<<"Now, We have the result below:"<<endl;
for(UpDown = 0;UpDown < N;UpDown++)
{
for(LeftRight = 0;LeftRight < N;LeftRight++)
{
cout<<Matrix[UpDown][LeftRight]<<'\t';
}
cout<<endl;
cout<<endl;
cout<<endl;
}
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -