weixin_44125603 2019-03-13 01:30 采纳率: 100%
浏览 393

下面这段程序为什么会运行出错?

如题
题目是要输出一个螺旋形的矩阵
比如输入4, 输出就是
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7

include

#include
using namespace std;
int main()
{
int **a, n, i, j, k = 1;

cin >> n;
if(n > 120) cin >> n;
a = new int *[n];
for (i = 0; i < n; ++i) a[i] = new int [n];

for(i = 0; i < n; ++i) for(j = 0; j < n; ++j) a[i][j] = 0;

i = j = 0;

while(k <= n * n){
    while(i < n && j >= 0) {
        if(a[j][i] != 0) break;
        a[j][i] = k;
        ++i;
        ++k;
    }
    i -= 1; j += 1;

    while(j < n && j >= 0){
        if(a[j][i] != 0) break;
        a[j][i] = k;
        ++j;
        ++k;
    }
    j -= 1; i -= 1;

    while(i < n && i >= 0){
        if(a[j][i] != 0) break;
        a[j][i] = k;
        --i;
        ++k;
    }
    i += 1; j -= 1;

    while(i < n && i >= 0){
        if(a[j][i] != 0) break;
        a[j][i] = k;
        --j;
        ++k;
    }
    j += 1; i += 1;
}
cout << endl;

for(i = 0; i < n; ++i) {
    for(j = 0; j < n; ++j) cout << setw(6) << a[i][j];
    cout << endl;
}


for(i = 0; i < n; ++i) delete [] a[i];
delete [] a;

return 0;

}

  • 写回答

2条回答 默认 最新

  • JRneymar 2019-03-13 09:38
    关注

    你这没有出错,是不是你的头文件没导入
    #include
    #include "iostream"
    最开始加上这两行

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料