概述
输入一个数字n,然后生成n×n的矩阵,矩阵的内容沿45度线递增
如下图输入8
判断是到每行的界限还是到每列的界限,然后对矩阵的i,j进行变换,存入数字。
public static void main(String[] args) {
int i,j, n=8,num=0;
int[][] parry=new int[n][n];
for(i=0;i<n;i++)
for(j=0;j<n;j++)
parry[i][j]=0;
int k,l;
i=0;
j=0;
parry[i][j]=num++;//特殊处理
for(k=2;k<=n;k++) //行数从1,2,3.。。。n-1,对角线是n
{
if(i==0)//判断是否在每行每列的最外面,然后把控制行列的i,j变向
{
parry[i][++j]=num++;//行列最外面的特殊处理
for(l=1;l<k;l++)
parry[++i][--j]=num++;
continue;//继续下一行
}
if(j==0)
{
parry[++i][j]=num++;
for(l=1;l<k;l++)
parry[--i][++j]=num++;
continue;
}
}
for(k=n-1;k>=2;k--)
{
if(i==n-1)//判断是否在每行每列的最外面,然后把控制行列的i,j变向
{
parry[i][++j]=num++;
for(l=1;l<k;l++)
parry[--i][++j]=num++;
continue;
}
if(j==n-1)
{
parry[++i][j]=num++;
for(l=1;l<k;l++)
parry[++i][--j]=num++;
continue;
}
}
parry[n-1][n-1]=num;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
System.out.print(parry[i][j]+" ");
System.out.println();
}
}
最后
以上就是殷勤大炮为你收集整理的求zigzag数组矩阵的全部内容,希望文章能够帮你解决求zigzag数组矩阵所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复