当前位置:首页 » 编程语言 » c语言着色问题

c语言着色问题

发布时间: 2022-12-28 17:20:27

Ⅰ C语言编程地图着色

书上有嘛

Ⅱ DEV C++写C语言代码 printf("sum is %d\n",sum); “” 以内的都是红色的,这是怎么回事啊。

第一,这个不是没有结果,而是dev的软件决定了你没有看到它的结果而已。你可以采取一下方法来改进:
方法一:在程序的最后加条控制输入的语句,让程序等待键盘的响应。
如getch(),getchar(),system("pause"),getch()要加头文件,conio.h.....都可达到此效果
缺点是每个程序都要进行该操作,该方法一定奏效。
方法二:前段时间看到的方法,此方法是对dev-c++进行配置,你是否能成功就没把握拉。

具体步骤:
在DevCpp --> 工具 --> 配置工具 --> 添加
标题:我的运行
程序:A.BAT
工作路径:
参数:
--> 确定
A.BAT:
----------------
@echo off
%1
echo.
pause
----------------
将该文件放在执行目录下即可(执行目录就是你安装程序的目录下面的bin文件夹下面,例如D:\Dev-Cpp\bin,在这个文件夹下面有ar.exe,ac.exe.c++.exe等很多可执行文件)大概思路是建立个批处理文件,该文件的作用同于system(“pause”);等待键盘的响应
调式程序的时候让系统每次调用该批处理文件,达到等待作用。
在vc++60下也是这么做的。

第二,你是否应该在定义变量sum之后对sum进行赋初值。不然的话运行结果一般情况下不会是你期望的那个的。

Ⅲ 四色问题C语言怎么解决

思路:建立数据结构,录入数据内容,遍历着色,输出第一个可行的着色方案。

下面就四个方面详细分析一下

首先分析数据结构:

对于地图,一个区块包含一个唯一编号数据(这个编号可以是地名,也可以是数字)用来区分该区块和其他区块的不同

另外要着色,还要考虑该区块和其他区块连接的情况

最后就是区块本身的颜色

通过上面的分析,即可建立如下数据结构:

structarea{
intnID;//这里以数字替代名称,作为地块的唯一标识
intnColor;//用1,2,3,4表示不同的颜色,用0表示还没有着色
area*pNei;//邻接的区块
intnNei;//邻接区块的数量
};

然后需要录入数据,这个请依据具体的地图进行处理,撰写相应的录入函数,填入上面的数据结构

假设录好的数据如下:

structareacity[64];//假设已经录制好了数据,初始所有城市颜色都为0

数据录好后,我们可以如下方式进行遍历,尝试着色

遍历分为个模块:一个是遍历模块,一个是校验模块

校验模块依序检查所有的城市和其邻接城市是否存在同色的情况,是则返回false,否则返回true

遍历模块则逐个城市进行上色尝试

可以考虑递归

下面给一个递归的示例:

检测模块:

boolisOk(){
for(inti=0;i<64;i++)//假设有64个城市,其初始值和城市关系已经录制完毕
{
for(intj=0;j<city[i].nNei;j++){
if(nColor==city[i].pNei[j].nColor)
returnfalse;
}
}
returntrue;
}

遍历递归模块:

booladdcity(intnIndex){
if(nIndex>=64)returntrue;//所有城市都着色了,则返回成功
for(inti=1;i<=4;i++){
city[nIndex].nColor=i;
if(isOk()){//本城市的颜色找到了
if(addcity(nIndex+1)==true){//找下一个城市的颜色
returntrue;
}else{//无法为下一个城市着色
continue;//更改本城市颜色
}
}
}
returnfalse;//没有一个颜色可行,返回上一级,重新寻找
}

调用的时候可以采用下面的方式:

if(addcity(0)==false){
printf("无法找到答案,四色定理错误! ");
}else{
printf("找到了答案,城市和着色结果如下: ");
for(inti=0;i<64;i++){
printf("city%03dcolor%d ",city[i].nID,city[i].nColor);
}
}


热点内容
大地球源码 发布:2025-07-04 08:10:29 浏览:163
棋牌手游源码 发布:2025-07-04 08:10:18 浏览:816
为啥编程广告 发布:2025-07-04 07:30:01 浏览:569
数据库备机 发布:2025-07-04 07:30:00 浏览:532
静态内部类java 发布:2025-07-04 07:25:45 浏览:234
玉林电信dns服务器地址 发布:2025-07-04 07:17:34 浏览:437
用镜像压缩 发布:2025-07-04 07:17:31 浏览:635
lgg3如何设置锁屏密码 发布:2025-07-04 06:41:39 浏览:346
sqlserver2005命令 发布:2025-07-04 06:27:08 浏览:734
压缩文件啥样 发布:2025-07-04 06:21:42 浏览:300