1.求用C语言实现卡诺化简的画画图源代码
2.C语言简单走迷宫●源码
3.求一用C语言画直线的程序
4.程序设计:C语言樱花树程序!详细注释+源码分享
求用C语言实现卡诺化简的图源源代码
void init()
{
int i,j,x1,y1,x2,y2;
int driver=DETECT, mode=0;
randomize();
registerbgidriver(EGAVGA_driver); ----有问题啊!调试时候说没有定义
initgraph(&driver,代码&mode,"");
C语言简单走迷宫●源码
//VC6.0、VS编译OK
//C语言走迷宫
#include
#include
int DrawMap(char map[][]);
int AmendMpa(char map[][],画画图辅助源码做成软件char ch);
int main(void)
{
char ch;
int retval;//结果
char map[][]={ "##############################",\
"#0 ## #######",\
"## ##### ########## #######",\
"### ###### #### ### ###",\
"#### ##### # #### #######",\
"####### ## ### ### #",\
"####### ## ## #### ## ##### #",\
"#### ## ## ##### ## #### #",\
"####### # # ### ### #",\
"####### # ### ## #### ######",\
"# # ## ## ## ## #######",\
"##### # # # ## #### #####",\
"####### # ####### ####",\
"################ ###### # #",\
"################## ##",\
"########################### ##",\
};//地图数组
DrawMap(map);
while(1)
{
ch=getch();
if(ch=='j' || ch=='J' || ch=='k' || ch=='K' || ch=='L' || ch=='l' ||ch=='i' || ch=='I')
{
retval=AmendMap(map,ch);//获取输入修改地图
DrawMap(map);//刷新显示
if(retval==1)//走出迷宫
{
printf(" 恭喜你走出迷宫! ");
break;
}
}
}
printf("按任意键结束!图源 ");
getch();
return 0;
}
int DrawMap(char map[][])
{
int i,代码j;
system("cls");
printf("C语言走迷宫 ");
printf("开始前请关闭输入法!!画画图!图源 ");
printf("jkli建移动 ");
for(i=0;i<;i++)
{
for(j=0;j<;j++)
{
printf("%c",代码map[i][j]);
}
printf(" ");
}
printf(" 出口");
return 0;
}
int AmendMap(char map[][],char ch)//返回1走出迷宫,否则返回0
{
int i,画画图j;
int wx,wy;//wx:x位置,xy:y位置
for (i=0;i<;i++)
{
for (j=0;j<;j++)
{
if(map[i][j]=='0')
{
wy=i;
wx=j;
}
}
}
if(ch=='j' || ch=='J')//向右
{
if(map[wy][wx-1]=='#')
{
return 0;
}
else
{
map[wy][wx - 1]='0';
map[wy][wx]=' ';
}
}
if(ch=='l' || ch=='L')//向左
{
if(map[wy][wx + 1]=='#')
{
return 0;
}
else
{
map[wy][wx + 1]='0';
map[wy][wx]=' ';
}
}
if(ch=='i' || ch=='I')//向上
{
if(map[wy - 1][wx]=='#')
{
return 0;
}
else
{
map[wy - 1][wx ]='0';
map[wy][wx]=' ';
}
}
if(ch=='k' || ch=='K')//向下
{
if(map[wy + 1][wx]=='#')
{
return 0;
}
else
{
map[wy + 1][wx]='0';
map[wy][wx]=' ';
}
}
if (map[][]=='0')//判断走到出口
{
return 1;
}
}
求一用C语言画直线的图源corefx源码程序
C语言的话画直线用MoveTo()和LineTo()很简单啊。
帮你复制一份我学习时老师给的代码画线两例:
#include<graphics.h>
#include<math.h>
/*
###############################################################################
功 能:本函数的作用是用逐点比较法来画一条直线
格 式:void myline1(int x1,int y1,int x2,int y2,int color)
参数说明:x1,y1是起始点坐标,x2,y2是终止点,color是画线的颜色
调用示例:myline1(,,,,4)
###############################################################################
*/
void myline1(int x1,int y1,int x2,int y2,int color)
{
/*变量定义开始(//增加)*/
int iTx; /*x轴终点的相对坐标xa或临时变量*/
int iTy; /*y轴终点的相对坐标ya或临时变量*/
int iDx; /*x轴方向的步长dx*/
int iDy; /*y轴方向的步长dy*/
int iFt; /*偏差Fm*/
int iSt; /*记数循环数(dx+dy)S*/
int iXt; /*x方向循环变量xm*/
int iYt; /*y方向循环变量ym*/
/*变量定义结束*/
/*变量初始化开始*/
/*如果是第三象限或第四象限则换成第一或第二象限*/
if(y2<y1)
{
iTx=x1;
x1=x2;
x2=iTx;
iTy=y1;
y1=y2;
y2=iTy;
}
iTx=x2-x1; /*取x轴的相对坐标*/
iTy=y2-y1; /*取y轴的相对坐标*/
iDx=1;
iDy=1;
iFt=0;
iSt=iTx+iTy;
if(iTx<0)iSt=-1*iTx+iTy;; /*如果在第二象限,则x轴方向步长取负值*/
iXt=0;
iYt=0;
/*变量初始化结束*/
/*数据处理开始*/
while(iSt>0)
{
putpixel(x1+iXt,画画图y1+iYt,color);
if(iTx>=0) /*如果在第一象限*/
{
if(iFt<0) /*如果偏差小于0*/
{
iYt+=iDy; /*y方向走一步*/
iFt+=iTx;
}
else /*如果偏差大于或等于0*/
{
iXt+=iDx; /*x方向走一步*/
iFt-=iTy;
}
}
else
{
if(iFt<0) /*如果偏差小于0*/
{
iXt-=iDx; /*负x方向走一步*/
iFt+=iTy;
}
else /*如果偏差大于或等于0*/
{
iYt+=iDy; /*y方向走一步*/
iFt+=iTx;
}
}
iSt--;
}
}
/*
###############################################################################
功 能:本函数的作用是用来画一条直线
格 式:void myline2(int x1,int y1,int x2,int y2,int color)
参数说明:x1,y1是起始点坐标,x2,y2是终止点,color是画线的颜色
调用示例:myline2(,,,,4)
###############################################################################
*/
int myline2(int x1,int y1,int x2,int y2,int color)
{
int iX; /*x方向的坐标变量*/
int iY; /*y方向的坐标变量*/
int iTx; /*x方向的步长变量*/
int iTy; /*y方向的步长变量*/
float fDx; /*x方向的差分变量*/
float fDy; /*y方向的差分变量*/
float fMinf; /*算法中的f*/
float fMaxF; /*算法中的F*/
float fS; /*终点判断变量*/
fMinf=0.5; /*f=0.5*/
iX=x1;
iY=y1;
putpixel(x1,y1,color);
if(x1==x2&&y1==y2) /*如果终点和起始点相同*/
{
return(1);
}
iTx=1;
iTy=1;
fDx=(float)(x2-x1);
fDy=(float)(y2-y1);
fMaxF=fDy/fDx>0?fDy/fDx:(-fDy/fDx); /*F=|dy/dx|*/
if(fDx<0)iTx=-1;
if(fDy<0)iTy=-1;
fS=fDx>0?fDx:(-fDx);
if(fMaxF==1) /*如果F=1*/
{
iX=x1;
iY=y1;
while(fS>0)
{
iX+=iTx; /*x方向走一步*/
iY+=iTy; /*y方向走一步*/
putpixel(iX,iY,color);
fS--;
}
}
else if(fMaxF>1) /*如果F>1*/
{
fS+=fDy>0?fDy:(-fDy);
while(fS>0)
{
iY+=iTy; /*y方向走一步*/
putpixel(iX,iY,color);
fMinf+=1/fMaxF; /*f=f+1/F*/
fS--;
if(fMinf>=1) /*如果f>=1*/
{
iX+=iTx; /*x方向走一步*/
fMinf--; /*f=f-1*/
putpixel(iX,iY,color);
fS--;
}
}
}
else /*如果F<1*/
{
fS+=fDy>0?fDy:(-fDy);
while(fS>0)
{
iX+=iTx; /*x方向走一步*/
putpixel(iX,iY,color);
fMinf+=fMaxF; /*f=f+F*/
fS--;
if(fMinf>=1) /*如果f>=1*/
{
iY+=iTy; /*y方向走一步*/
fMinf--; /*f=f-1*/
putpixel(iX,iY,color);
fS--;
}
}
}
}
程序设计:C语言樱花树程序!详细注释+源码分享
用C语言绘制樱花树的图源详细教程与源码分享
在本文中,我们将引领您通过C语言的代码巧手,创造出如诗如画的gcode 源码樱花树效果。首先,通过递归理解基础概念,例如汉诺塔问题的解决,它将为后续的分形算法打下基础。 接着,zork源码我们将深入学习分形的精髓,利用递归调用,设计出一棵美丽的分形树。在此基础上,进一步调整参数,源码求爱就能实现随机生成的樱花树,展现出丰富的形态。 这段内容涵盖了递归函数调用的语法实践,以及分形艺术的探索。通过这些,您可以尝试将所学应用到其他分形设计,甚至解决类似扫雷、泡泡龙等游戏中的问题,提升编程技能。 无论您是初学者还是进阶者,我都分享了一系列学习资源,包括基础教程、实战项目视频、项目笔记等,让学习之路更加顺利。在我们的交流群中,您可以随时提问,共同进步。 对于编程爱好者,利用丰富的资料将加速您的学习进程。在这里,我们聚集了C语言/C++/数据结构与算法的爱好者,一起探索和成长。