プログラム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);
}
があります。
補足
申し訳ありません。コンパイルも通っていないです。 アドバイスのようにすると、 #include "stdafx.h" int getbekijyo(int,int); void main(void) { int number1,number2; int kekka; number1=6; number2=4; kekka=getbekijyo(number1,number2); printf("%dの%dは%dです。); } int getbekijo(int x,int y) { int z; if(y==1) return(x); z=x; getbekijyo(x,y-1); return(z); } こうすればよいのでしょうか?