当前位置:系统粉 > 电脑问答 > 其他问答 > C语言魔方矩形穷举法,帮忙C++转C

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

2017-03-07 03:04:40
替换iostream.h为stdio.h
cout替换成printf
赞 13
楚子航的骨灰

楚子航的骨灰

回答数:182  |  被采纳数:77

2017-03-07 04:51:57
cout<<a[j*3+i]<<&#39; &#39;;cout <<endl;
}
cout <<endl;}
那么这个是输出那个啊?输出a[j*3+i]?有变量end1? [s:476]
赞 18
卿若凡唱

卿若凡唱

回答数:1  |  被采纳数:77

2017-03-07 08:16:10


直接输出 a[j*3+i] 这个值

cout <<endl;这个是换行 不是 变量
endl 后面的那个是字母l 不是数字1
看清楚呀!
赞 0
liu63263

liu63263

回答数:38  |  被采纳数:21

2017-03-07 09:42:29
不好意思,真的没看过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();
}
赞 3
爱左云爱家乡

爱左云爱家乡

回答数:180  |  被采纳数:101

2017-03-07 09:35:53
printfa不要这个字母a
赞 18
niceplay11

niceplay11

回答数:217  |  被采纳数:98

2017-03-07 13:38:07
不好意思,但是编译的错误是相同的。
赞 21
我代表书坡菛

我代表书坡菛

回答数:120  |  被采纳数:102

2017-03-07 10:13:27
你的算法 我看都看不太明白 for(int i=0;i<9;i++)
两个一样的 不能运行, 而且算法 太乱
为什么不用 二维数组 去存储呢!?
赞 12
若惜雨沫

若惜雨沫

回答数:182  |  被采纳数:25

2017-03-07 21:42:37
不 是我的啊,我是找百度的时候找到一个C++的,用穷举法做出3*3魔方矩形,我用Dev c++运行它的成功,但是不懂怎么转换为C。那个生成1~9排列C好像就没了。可能我没看过,其实他这个方法可以的,但是就不懂怎么转换。
--------------
要不帮我解析一下if(!a) 是什么意思,我就基本可以自己搞出来了。
赞 18
龍鳳呈祥的幻想

龍鳳呈祥的幻想

回答数:2  |  被采纳数:68

2017-03-07 16:36:34
晕,怎么到网页就少了一点,a 后面还有的[ i]
赞 0
解决方法
版权信息

Copyright @ 2011 系统粉 版权声明 最新发布内容 网站导航