話說找書報的時候
無意間
看到網路上的大大人真好
把我書報裡面的轉換貼出來了
之後有時間在去確認他的正確性好了
應該之後多少會用的到了
#include<iostream>
using namespace std;
void main()
{
int lines[9];
lines[0]=1;
for(int i=1;i<9;i++)
lines[i]=lines[i-1]*2+1;
char Hilbert[520][520];
Hilbert[0][0]='X';
int r=1;
for(int i=1;i<9;i++)
{
for(int j=0;j<r;j++)
for(int k=0;k<r;k++)
{
Hilbert[j][r+1+k]=Hilbert[k][r-1-j];
Hilbert[r+1+j][k]=Hilbert[j][k];
Hilbert[r+1+j][r+1+k]=Hilbert[r-1-k][j];
}
Hilbert[0][r]='X';
Hilbert[r][r-1]='X';
Hilbert[2*r][r]='X';
r=r*2+1;
}
int n;
while(cin>>n)
{
for(int i=0;i<lines[n];i++)
{
int len=lines[n]-1;
while(Hilbert[i][len]!='X')len--;
for(int j=0;j<=len;j++)
if(Hilbert[i][j]=='X')cout<<Hilbert[i][j];
else cout<<' ';
cout<<endl;
}
cout<<endl;
}
}
- Apr 22 Tue 2008 10:08
網路上找到的範例 hilbert transform
全站熱搜
留言列表