问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
在写螺旋方阵是发生的问题,是以1 开头的顺时针旋转的螺旋方阵
代码片在此
#include<iostream>
using namespace std;
#pragma once
class MATRIX
{
private:
int (*a)[20];
int startnum;
int n;
public:
MATRIX(int s, int m);
void process();
void print();
};
#include "MATRIX.h"
MATRIX::MATRIX(int s, int m)
{
startnum = s;
n = m;
}
void MATRIX::process()
{
int i, b, c, d, e;
int s;
s = startnum;
for (i = 0; n / 2 > 0; i++, n - 2)
{
for (b = i; b < n + i; b++) //上
{
a[i][b] = s;
s++;
}
for (c = (i + 1); c < n + i; c++) //右
{
a[c][b] = s;
s++;
}
for (d = b - 1; d >= i; d--)//下
{
a[c][d] = s;
s++;
}
for (e = c - 1; e > i; e--) //左
{
a[e][i] = s;
s++;
}
}
}
void MATRIX::print()
{
for (int y = 0; y < n; y++)
{
for (int x = 0; x < n; x++)
cout << a[y][x] << '\t';
cout << '\n';
}
}
#include"MATRIX.h"
int main()
{
int s, m;
cout << "请分别输入起始数及层数:";
cin >> s >> m;
MATRIX t(s, m);
t.process();
t.print();
return 0;
}