當前位置:首頁 » 編程語言 » 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);
}
}


熱點內容
知道一個伺服器的ip地址 發布:2025-07-04 14:20:33 瀏覽:597
蘋果7鎖屏密碼怎麼改 發布:2025-07-04 14:04:44 瀏覽:710
P三零是什麼配置 發布:2025-07-04 13:58:41 瀏覽:361
哪個安卓機有長方形home鍵 發布:2025-07-04 13:43:58 瀏覽:861
android腳本錄制 發布:2025-07-04 13:17:47 瀏覽:342
嵌入式和安卓哪個硬體成本高 發布:2025-07-04 13:05:56 瀏覽:229
360代理伺服器怎麼設置 發布:2025-07-04 12:49:49 瀏覽:515
iphone在哪清除緩存 發布:2025-07-04 12:49:38 瀏覽:340
代理訪問網址 發布:2025-07-04 12:47:50 瀏覽:400
分頁存儲的管理方式 發布:2025-07-04 12:47:45 瀏覽:495