有几个知识点疑惑
查看原帖
有几个知识点疑惑
828573
CurryNo_1楼主2022/12/30 21:40
#include<iostream>
#include<memory.h>
#include<math.h>
using namespace std;
int n,aim[2500][2500];
void f(int num[2500][2500],int x,int y,int l) 
{
	if(l<1)  return;
	for(int i=0;i<l/2;i++)
	  for(int t=0;t<l/2;t++)
	    num[x+i][y+t]=0;
	f(num,x,y,l/2);
	f(num,x,y+l/2,l/2);
	f(num,x+l/2,y,l/2);
	f(num,x+l/2,y+l/2,l/2);
	return;	
}
int main()
{
	cin >> n;
	for(int i=1;i<=pow(2,n);i++)
	  for(int t=1;t<=pow(2,n);t++)
	    aim[i][t]=1;
	f(aim,1,1,pow(2,n));
	for(int i=1;i<=pow(2,n);i++)
	{
		for(int t=1;t<=pow(2,n);t++)
		{
			cout << aim[i][t] << " ";
		}
		cout << endl;
	}
}

在函数f的调用参数中,二维数组为什么要写上大小,一维数组不是不用写吗,还有一个疑惑的地方是memset函数不能给二维数组赋值为1(本人刚学两个月多知识点还不知道(保命))

2022/12/30 21:40
加载中...