首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

大家看看,为什么显示是这样的啊解决方案

2012-03-23 
大家看看,为什么显示是这样的啊?目的是显示递归矩形框,程序的大意是随机的切割每个矩形,直到矩形面积为一

大家看看,为什么显示是这样的啊?
目的是显示递归矩形框,程序的大意是随机的切割每个矩形,直到矩形面积为一个特定的值(TurboC下编译)
#include <stdio.h>
#include <stdlib.h>
#include <graphics.h>
#define   MinArea   0.6
#define   MinEdge   0.3
static   void   SubdivideCanvas(
doublex,
doubley,
doublewidth,
doubleheight
);
static   double   RandomReal(double   low,double   high)
{
doubled;

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(doublex,   doubley,
doublewidth,         doubleheight)
{
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);
            }
      }
}

[解决办法]
问题是什么?

本来预期的结果是什么?
哪里没有满足?

热点排行