#include<iostream>
using namespace std;
#define max 100
int flag[max][max];
void init()
{
int i,j;
for(i=0;i<max;i++)
for(j=0;j<max;j++)
flag[i][j]=0;
}
void func(int n,int inc)
{
int i,j;
int x,y,k;
int k1,k2,k3,k4;
for(k1=0,k2=0,k3=0,k4=0;i<n&&j<n;k3++,k2++,k1++,k4++)
{
//cout<<k1<<" "<<k2<<" "<<k3<<" "<<endl;
i=k3,j=k2,x=k1,y=k4;
//cout<<"i:"<<i<<"j:"<<j<<"x:"<<x<<endl;
for(;i<n;i++)
{
if(flag[x][i]==0)
{
inc++;
flag[x][i]=inc;
}
}
//cout<<"i:"<<i<<"j:"<<j<<"x:"<<x<<endl;
//cout<<"inc1:"<<inc<<endl;
for(k=i-1;j<n;j++)
{
if(flag[j][k]==0)
{
inc++;
flag[j][k]=inc;
}
}
//cout<<"i:"<<i<<"j:"<<j<<"y:"<<y<<endl;
// cout<<"inc2:"<<inc<<endl;
for(i=n-1,x=j-1;i>=0;i--)
{
if(flag[x][i]==0)
{
inc++;
flag[x][i]=inc;
}
}
//cout<<"i:"<<i<<"j:"<<j<<"x:"<<x<<endl;
// cout<<"inc3:"<<inc<<endl;
for(j=n-1;j>=0;j--)
{
if(flag[j][y]==0)
{
inc++;
flag[j][y]=inc;
}
}
//cout<<"i:"<<i<<"j:"<<j<<"y:"<<y<<endl;
//cout<<"inc4:"<<inc<<endl;
n--;
//cout<<n<<endl;*/
}
}
void print(int n)
{
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
cout<<flag[i][j]<<'\t';
cout<<endl;
}
}
int main()
{
int n;
while(cin>>n)
{
init();
func(n,0);
print(n);
}
return 0;
}
分享到:
相关推荐
回型数能转回一圈的数字 就好像一个回字 共同学习
用C++编写的回型矩阵,任意输入一个数字,然后以回型矩阵的形式显示出来
回型矩阵填充代码,本程序是自己编写的回型矩阵填充算法
用C语言实现输入任意一个数字,然后以回型矩阵的形式显示出来,其中用数字填充回型矩阵,没有采用递归算法,而是简单判断条件然后循环至结束
用C++实现矩阵转置的模板类,属于标准模板。
将黑方块与白方块排列成回型螺旋结构,大小可随意设定,小程序一个,字数要长
请用C语言实现 输入N,打印N*N矩阵 比如 N = 3, 打印: 1 2 3 8 9 4 7 6 5 N = 4, 打印 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7
基于回型边框的二次规划布局算法
以某矿3#煤层三进两回型工作面地质条件为背景,应用错层位巷道布置采煤法对其回采巷道进行优化布置,通过对比新方法与原方法的煤炭损失率、排瓦斯容易程度、巷道掘进与维护等方面,初步得出错层位巷道布置形式在三进两...
编译器vs2019community。...②/*算法将顺序排列的数字从外圈到内圈依次排列,生成回型数字矩阵 * * 1 2 3 4 5 * 16 17 18 19 6 * 15 24 25 20 7 * 14 23 22 21 8 * 13 12 11 10 9 */
手册资料学习,回形针显示,第一次操作,记录一下
行业文档-设计装置-风机叶片回型检修平台智能伸缩臂装置
行业文档-设计装置-风机叶片回型检修平台智能平衡吊点装置
好详细的资源描述有机会获得我们的推荐,更有利于他人下载,赚取更多积分。
易语言回弯进度条源码,回弯进度条
生成回型矩阵并且可以按照回型拆分矩阵。可以自定义生成回型矩阵的维数、
用JAVA写的一个回字型方针。课堂作业。
不规则三角网的建立与应用,TIN的创建于使用,很实用
主要介绍了PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法,结合具体实例形式分析了蛇形矩阵,回环矩阵及数字螺旋矩阵的概念、表示方法及php实现技巧,需要的朋友可以参考下