| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3802 人关注过本帖
标题:为什么这样没有输出结果?不知道哪里错了
取消只看楼主 加入收藏
meitsuen
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-5-4
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:1 
为什么这样没有输出结果?不知道哪里错了
题目描述
n×n的蛇形方阵当n=5时如下的形式
 
1   3   4   10   11
2    5    9    12   19
6    8   13    18   20
7    14   17   21   24
15   16    22     23   25
 
请给出一个程序,对于任意的输入n(0<n<21),输出按照上面规律所获得的n×n的蛇形方阵。
输入
输入为一个整数n (0<n<21),代表要生成的蛇形方阵大小为n*n;
 
输出
输出n×n方阵(一个方阵的同一行数据之间以'\t'分隔)
示例输入
4
示例输出
1   3   4   10
2    5    9    11
6    8   12    15
7    13   14   16
将螺旋方阵存放到N*N的二维数据中并打印输出。

我写的程序:
#include <iostream.h>
void main()
{
    int a[5][5],n=5;
    int k=1,i=0,j=0,flag=1;
    for(k;k<=n*n;k++)
    {
        a[i][j]=k;
        if(flag==1)//dowm
        {
            i++;j--;
        if(j<0||i>n-1)
        {
            flag=-flag;
            if(j<0)
                j++;
            else
            {
                j=j+2;
                i--;
            }
        }
        else //up
        {
            i--;j++;
                if(i<0||j>n-1)
                {
                    flag=-flag;
                    if(i<0)
                        i++;
                    else
                    {
                        i=i+2;
                        j--;
                    }
                }
        }
    }
   
}
        for(i=0;i<n;i++)
            for(j=0;j<n;j++)
                cout<<a[i][j]<<" ";
            cout<<endl;
}
2016-05-04 18:48
meitsuen
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-5-4
收藏
得分:0 
回复 2楼 我不信
运行出来不对啊,不是蛇形矩阵了
2016-05-04 19:39
快速回复:为什么这样没有输出结果?不知道哪里错了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029420 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved