setfillpattern() 设置用户图样函数
floodfill() 填充闭域函数
fillpoly() 填充多边形函数
getfillsettings() 获取填充设置函数
getfillpattern() 获取用户图样设置函数
(六)、图像函数
imagesize() 图像存储大小函数
getimage() 保存图像函数
putimage() 输出图像函数
81格的九宫格,用c语言编程,求助#include "stdio.h"
//定义栈的最大长度
#define MAXSTACKLENGTH 81
//待求解的九宫格矩阵,空白位置用0表示
int jiuGongArray[][9]={{0,0,0,0,4,0,0,3,2},
{4,0,0,0,0,1,0,0,0},
{5,3,0,6,0,0,0,0,7},
{3,0,0,5,1,0,7,0,0},
{0,0,5,0,3,0,2,0,0},
{0,0,9,0,7,4,0,0,3},
{1,0,0,0,0,9,0,4,6},
{0,0,0,1,0,0,0,0,9},
{8,9,0,0,6,0,0,0,0}};
//空缺数据组成的矩阵,共有九个九宫格单元,从左到右 , 然后从上到下编号为0-8;
//例如:第一个九宫格单元空缺的数字为1,4,8,则矩阵dataNeedToBeInsert的第一行
//为{1,0,0,4,0,0,0,8,0}
int dataNeedToBeInsert[][9]={{1,2,3,4,5,6,7,8,9},
{1,2,3,4,5,6,7,8,9},
{1,2,3,4,5,6,7,8,9},
{1,2,3,4,5,6,7,8,9},
{1,2,3,4,5,6,7,8,9},
{1,2,3,4,5,6,7,8,9},
{1,2,3,4,5,6,7,8,9},
{1,2,3,4,5,6,7,8,9},
{1,2,3,4,5,6,7,8,9}};
//定义栈单元的结构
typedef struct
{
int xPosition;
int yPosition;
int jiuGongGePosition;
int num;
}node;
//定义栈数组
node stack[MAXSTACKLENGTH];
//由给定的九宫格矩阵,查找空缺的数据
void FindDataToBeInsert(void)
{
int i,j;
int x,y;
for(i=0;i9;i++)
for(j=0;j9;j++)
{
if(jiuGongArray[i][j]!=0)
{
x=(i/3)*3+j/3;
y=jiuGongArray[i][j]-1;
dataNeedToBeInsert[x][y]=0;
}
}
}
//输出m*n的矩阵
void PrintArray(int *ptr,int m,int n)
{
int i,j;
int data;
int temp;
temp = n-1;
for(i=0;im;i++)
for(j=0;jn;j++)
{
data = https://www.04ip.com/post/*(ptr+i*n+j);
printf("%d ",data);
if(j == temp)
{
printf("\n");
}
}
}
//核实是否满足结束条件
int CheckEnd(void)
{
int i,j,sum;
for(i=0;i9;i++)
{
sum = 0;
for(j=0;j9;j++)
{
sum += jiuGongArray[i][j];
}
if(sum != 45)
{
return -1;
}
}
for(j=0;j9;j++)
{
sum = 0;
for(i=0;i9;i++)
{
sum += jiuGongArray[i][j];
}
if(sum != 45)
{
return -1;
}
}
return 0;
}
//从矩阵dataNeedToBeInsert[][]中查找下一个数据
int FindNextData(int m,int n,int *xPosition,int *yPosition)
{
int state=0;
if(n8)
{
n = 0;
m++;
}
if(m8)
{
state = CheckEnd();
if(state != 0)
return -1;
else
return 1;
}
while(dataNeedToBeInsert[m][n] == 0)
{
if(n8)
n++;
else
{
n = 0;
m++;
if(m8)
{
state = CheckEnd();
if(state != 0)
return -1;
else
return 1;
}
}
}
*xPosition = m;
*yPosition = n;
return 0;
}
//核实元素对应的行和列是否有相同的数字
int CheckLine(int m,int n,int num)
{
int i;
for(i=0;i9;i++)
{
if(jiuGongArray[m][i] == num)
return -1;
}
for(i=0;i9;i++)
{
if(jiuGongArray[i][n] == num)
return -1;
}
return 0;
}
//核实是否满足入栈条件
int CheckCanPush(int m,int n,int *position)
{
int start=*position;
int i,temp1,temp2,temp3,temp4;
推荐阅读
- 京东电商如何避税,京东如何交税
- 本地无法链接mysql数据库,mysql链接远程数据库
- python编程网站加密码,python编写密码加密程序
- jquery的有什么用,jquery用途
- go语言圣经epub go语言圣经 epub
- gis主要的软件部件有等,gis软件包括哪几种类型
- css旋转动画特效代码,旋转 css
- 学跳舞的视频应该下载什么软件,学跳舞视频软件手机版
- 怎么给mysql上传数据 mysql数据库文件怎么发送