输入一个矩阵的层数,生成如下矩阵并进行输出。例如:输入3,则输出
3 3 3 3 3
3 2 2 2 3
3 2 1 2 3
3 2 2 2 3
3 3 3 3 3
我做的代码输出是反着的
1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
请不要用scanf或printf,毕竟我也看不懂
输入一个矩阵的层数,生成如下矩阵并进行输出。例如:输入3,则输出
3 3 3 3 3
3 2 2 2 3
3 2 1 2 3
3 2 2 2 3
3 3 3 3 3
我做的代码输出是反着的
1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
请不要用scanf或printf,毕竟我也看不懂
#include <iostream>
using namespace std;//回形矩阵
int main()
{ //用的办法不巧妙,遇到的bug头铁式修补,不过效果是正确的
int n,cnt=1;
cin>>n;
int list[200][200]={};//1<=n<=100,最大行列数为199
for(int m=n;m>=1;m--)
{
for(int i=m+n-1;i>=cnt;i--)
{
for(int j=m+n-1;j>=cnt;j--)
{
list[i][j]=m;
}
}
cnt++;
}
list[n][n]=1;
for(int i=1;i<=2*n-1;i++)
{
for(int j=1;j<=2*n-1;j++)
{
cout<<list[i][j]<<" ";
}
cout<<endl;
}
return 0;
}