社区讨论
关于数组初始化的疑问
P5461赦免战俘参与者 4已保存回复 6
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 6 条
- 当前快照
- 1 份
- 快照标识符
- @lo7f7day
- 此快照首次捕获于
- 2023/10/27 00:50 2 年前
- 此快照最后确认于
- 2023/10/27 00:50 2 年前
上代码
CPP#include<iostream>
#include<cmath>
using namespace std;
int s[1025][1025];
void f(int a,int x,int y)//a表示边长,x,y表示坐标
{
if(a==2)
{
s[x][y]=0;
return;
}
for(int i=x;i<=x+a/2-1;i++)
for(int j=y;j<=y+a/2-1;j++)
s[i][j]=0;
f(a/2,x+a/2,y);
f(a/2,x,y+a/2);
f(a/2,x+a/2,y+a/2);
}
int main()
{
int n,p;
cin>>n;
p=pow(2,n);
for(int i=1;i<=p;i++)
for(int j=1;j<=p;j++)
s[i][j]=1;//这样初始化是对的,但用s[1025][1025]={1}输出的都是0
f(p,1,1);
for(int i=1;i<=p;i++)
{
for(int j=1;j<=p;j++)
cout<<s[i][j]<<' ';
cout<<endl;
}
}
哪位大佬知道原理啊
回复
共 6 条回复,欢迎继续交流。
正在加载回复...