プログラムC
前にも質問したのですがヒルベルト曲線を用いて画像をスキャンするプログラムとビットマップの画像を読み込むプログラムを用いてお互いの座標を関連付けてヒルベルト曲線の座標にビットマップの1画素ずつの値を代入したいのですがどうしてもうまくいかなく質問しました。
前に質問した物はhttp://oshiete1.goo.ne.jp/kotaeru.php3?q=1106704
にあります。ヒルベルトは質問覧にビットマッピはNO2の補足にあります。プログラムを書くと800字を超えてしまうのでそのようにしました。
ヒルベルトは他に
#include<stdio.h>
int x,y;
int n;
void RUL(int n),DLU(int n),LDR(int n),URD(int n);
main() {
scanf("%d",&n);
printf("#位相%dのヒルベルト曲線\n",n);
x=0; y=0;printf("(%d %d) ",x,y);
RUL(8);
}
void RUL(int n) {
if(n<=0) {return;}
URD(n-1);x=x+1;printf("(%d %d)",x,y);
RUL(n-1);y=y+1;printf("(%d %d)",x,y);
RUL(n-1);x=x-1;printf("(%d %d)",x,y);
DLU(n-1);
}
void DLU(int n) {
if(n<=0) {return;}
LDR(n-1);y=y-1;printf("(%d %d)",x,y);
DLU(n-1);x=x-1;printf("(%d %d)",x,y);
DLU(n-1);y=y+1;printf("(%d %d)",x,y);
RUL(n-1);
}
void LDR(int n) {
if(n<=0) {return;}
DLU(n-1);x=x-1;printf("(%d %d)",x,y);
LDR(n-1);y=y-1;printf("(%d %d)",x,y);
LDR(n-1);x=x+1;printf("(%d %d)",x,y);
URD(n-1);
}
void URD(int n) {
if(n<=0) {return;}
RUL(n-1);y=y+1;printf("(%d %d)",x,y);
URD(n-1);x=x+1;printf("(%d %d)",x,y);
URD(n-1);y=y-1;printf("(%d %d)",x,y);
LDR(n-1);
}
があります。
お礼
皆様ご回答ありがとうございました。 ご指摘があった「/*」コメントの消し忘れが原因でした。