係統粉 > 電腦問答 > 其他問答

已解決C語言魔方矩形窮舉法,幫忙C++轉C

提問者:lokohandsome  |  瀏覽次  |  提問時間:2017-03-07  |  回答數量:9

C語言魔方矩形窮舉法,幫忙C++轉C #include \"iostream.h\" int a[9]; void PaiLie(int n) //生成1~9的全排列 { for(int i=0;i<9;i++) { for(int i=0;i<9;i++) if(a<n+1)a=0; if(!a) {a=n; if(n>1) PaiLie(n-1); else { if ( //判定橫豎斜之和為15 a[0]+a[1]+a[2]==15&&a[3]+a[4]+a[5]==15&&a[6]+a[7]+a[8]==15&& a[0]+a[3]+a[6]==15&&a[1]+a[4]+a[7]==15&&a[2]+a[5]+a[8]==15&& a[0]+a[4]+a[8]==15&&a[2]+a[4]+a[6]==15 ) {for(int j=0;j<3;j++) { for(int i=0;i<3;i++) cout<<a[j*3+i]<<&

已有9條答案
瀟湘夢行者

瀟湘夢行者

回答數:135  |  被采納數:96

替換iostream.h為stdio.h
cout替換成printf
2017-03-07 03:04:40
讚 13
楚子航的骨灰

楚子航的骨灰

回答數:182  |  被采納數:77

cout<<a[j*3+i]<<&#39; &#39;;cout <<endl;
}
cout <<endl;}
那麼這個是輸出那個啊?輸出a[j*3+i]?有變量end1? [s:476]
2017-03-07 04:51:57
讚 18
卿若凡唱

卿若凡唱

回答數:1  |  被采納數:77



直接輸出 a[j*3+i] 這個值

cout <<endl;這個是換行 不是 變量
endl 後麵的那個是字母l 不是數字1
看清楚呀!
2017-03-07 08:16:10
讚 0
liu63263

liu63263

回答數:38  |  被采納數:21

不好意思,真的沒看過C++,見笑了。
------------------------------
修改之後,還是不行,提示 錯誤 noname.c 5: 表達式語法錯在 PaiLie 函數中 錯誤 noname.c 5: 未定義的符號&#39;i&#39;在 PaiLie 函數中 警告 noname.c 5: 無效操作代碼在 PaiLie 函數中錯誤 noname.c 5: 語句缺少&#39;;&#39;在 PaiLie 函數中警告 noname.c 25: 參數&#39;n&#39;從未使用在 PaiLie 函數中
-------------------
錯誤行提示:for(int i=0;i<9;i++)
用win-tc 編譯。
---------------------------------------------------------------------------
修改之後
-------------------

#include "stdio.h"
int a[9];
void PaiLie(int n)
{
for(int i=0;i<9;i++)
{
for(int i=0;i<9;i++)
if(a<n+1)a=0;
if(!a)
{a=n;
if(n>1)
PaiLie(n-1);
else
{
if(a[0]+a[1]+a[2]==15&&a[3]+a[4]+a[5]==15&&a[6]+a[7]+a[8]==15&&a[0]+a[3]+a[6]==15&&a[1]+a[4]+a[7]==15&&a[2]+a[5]+a[8]==15&&a[0]+a[4]+a[8]==15&&a[2]+a[4]+a[6]==15)
{for(int j=0;j<3;j++)
{
for(int i=0;i<3;i++)
printfa("%d",a[j*3+i]);printf("\n");
}
printf("\n");}
}
}
}
}
main()
{
PaiLie(9);
getch();
}
2017-03-07 09:42:29
讚 3
愛左雲愛家鄉

愛左雲愛家鄉

回答數:180  |  被采納數:101

printfa不要這個字母a
2017-03-07 09:35:53
讚 18
niceplay11

niceplay11

回答數:217  |  被采納數:98

不好意思,但是編譯的錯誤是相同的。
2017-03-07 13:38:07
讚 21
我代表書坡菛

我代表書坡菛

回答數:120  |  被采納數:102

你的算法 我看都看不太明白 for(int i=0;i<9;i++)
兩個一樣的 不能運行, 而且算法 太亂
為什麼不用 二維數組 去存儲呢!?
2017-03-07 10:13:27
讚 12
若惜雨沫

若惜雨沫

回答數:182  |  被采納數:25

不 是我的啊,我是找百度的時候找到一個C++的,用窮舉法做出3*3魔方矩形,我用Dev c++運行它的成功,但是不懂怎麼轉換為C。那個生成1~9排列C好像就沒了。可能我沒看過,其實他這個方法可以的,但是就不懂怎麼轉換。
--------------
要不幫我解析一下if(!a) 是什麼意思,我就基本可以自己搞出來了。
2017-03-07 21:42:37
讚 18
龍鳳呈祥的幻想

龍鳳呈祥的幻想

回答數:2  |  被采納數:68

暈,怎麼到網頁就少了一點,a 後麵還有的[ i]
2017-03-07 16:36:34
讚 0
相關問答
最新其他問答
解決方法