大家看看,为什么显示是这样的啊解决方案
大家看看,为什么显示是这样的啊?
目的是显示递归矩形框,程序的大意是随机的切割每个矩形,直到矩形面积为一个特定的值(TurboC下编译)
#include <stdio.h>
#include <stdlib.h>
#include <graphics.h>
#define MinArea 0.6
#define MinEdge 0.3
static void SubdivideCanvas(
double x,
double y,
double width,
double height
);
static double RandomReal(double low,double high)
{
double d;
d=(double) rand ()/((double)RAND_MAX+1);
return(low+d*(high-low));
}
main ()
{
int gdrive=DETECT,gmode;
initgraph(&gdrive,&gmode, " ");
setbkcolor(BLUE);
randomize();
SubdivideCanvas(0,0,200,600);
}
static void SubdivideCanvas(double x, double y,
double width, double height)
{
double divide;
if (width*height> =MinArea)
{
if (width> height)
{
divide=width*RandomReal(MinEdge,1-MinEdge);
moveto(x+divide,y);
lineto(0,height);
SubdivideCanvas(x,y,divide,height);
SubdivideCanvas(x+divide,y,width-divide,height);
}
else
{
divide=height*RandomReal(MinEdge,1-MinEdge);
moveto(x,y+divide);
lineto(width,0);
SubdivideCanvas(x,y,width,divide);
SubdivideCanvas(x,y+divide,width,height-divide);
}
}
}
------解决方案--------------------
问题是什么?
本来预期的结果是什么?
哪里没有满足?
目的是显示递归矩形框,程序的大意是随机的切割每个矩形,直到矩形面积为一个特定的值(TurboC下编译)
#include <stdio.h>
#include <stdlib.h>
#include <graphics.h>
#define MinArea 0.6
#define MinEdge 0.3
static void SubdivideCanvas(
double x,
double y,
double width,
double height
);
static double RandomReal(double low,double high)
{
double d;
d=(double) rand ()/((double)RAND_MAX+1);
return(low+d*(high-low));
}
main ()
{
int gdrive=DETECT,gmode;
initgraph(&gdrive,&gmode, " ");
setbkcolor(BLUE);
randomize();
SubdivideCanvas(0,0,200,600);
}
static void SubdivideCanvas(double x, double y,
double width, double height)
{
double divide;
if (width*height> =MinArea)
{
if (width> height)
{
divide=width*RandomReal(MinEdge,1-MinEdge);
moveto(x+divide,y);
lineto(0,height);
SubdivideCanvas(x,y,divide,height);
SubdivideCanvas(x+divide,y,width-divide,height);
}
else
{
divide=height*RandomReal(MinEdge,1-MinEdge);
moveto(x,y+divide);
lineto(width,0);
SubdivideCanvas(x,y,width,divide);
SubdivideCanvas(x,y+divide,width,height-divide);
}
}
}
------解决方案--------------------
问题是什么?
本来预期的结果是什么?
哪里没有满足?