C++ 幻方函数C++;
这是我的幻方的最后一个函数,出于某种原因,它给了我一个错误,数组下标有“[int]”,但我不知道这意味着什么,如果有人能帮我解释一下我必须做什么C++ 幻方函数C++;,c++,project,magic-square,C++,Project,Magic Square,这是我的幻方的最后一个函数,出于某种原因,它给了我一个错误,数组下标有“[int]”,但我不知道这意味着什么,如果有人能帮我解释一下我必须做什么 bool Square::is_magic() { for (i = 0; i < size-1; i++) { if (sum_row[i] != sum_row[i+1]) return false; if (sum_col[i] != sum_col[i+1])
bool Square::is_magic()
{
for (i = 0; i < size-1; i++)
{
if (sum_row[i] != sum_row[i+1])
return false;
if (sum_col[i] != sum_col[i+1])
return false;
}
if (sum_row[0] != sum_col[0])
return false;
if (sum_row[0] != sum_maindiag[0])
return false;
if (sum_row[0] != sum_other[0])
return false;
return true;
}
boolsquare::is_magic()
{
对于(i=0;i
好的,每个人都有开始的时候。我真的建议你读一本或两本集中于C++的书。(我个人在21天内学会了用C++编程),很多人抱怨,但这对我来说是个好的开始。
和代码。不确定它是否是您需要的,它应该是这样的:
bool Square::is_magic()
{
int i;
for (i = 0; i < size-1; i++)
{
if (sum_row[i] != sum_row[i+1])
return false;
if (sum_col[i] != sum_col[i+1])
return false;
}
if (sum_row[0] != sum_col[0])
return false;
if (sum_row[0] != sum_maindiag[0])
return false;
if (sum_row[0] != sum_other[0])
return false;
return true;
}
if (condition) {
do_this()
}
{
if (condition)
do_this()
}
boolsquare::is_magic()
{
int i;
对于(i=0;i
一些评论:
编辑:为语句添加变量声明int,更新括号(聪明的想法,因为最后3个if-s没有使用索引)好的,每个人都在某个时候开始了。我真的建议你读一本或两本集中于C++的书。(我个人在21天内学会了用C++编程),很多人抱怨,但这对我来说是个好的开始。 和代码。不确定它是否是您需要的,它应该是这样的:
bool Square::is_magic()
{
int i;
for (i = 0; i < size-1; i++)
{
if (sum_row[i] != sum_row[i+1])
return false;
if (sum_col[i] != sum_col[i+1])
return false;
}
if (sum_row[0] != sum_col[0])
return false;
if (sum_row[0] != sum_maindiag[0])
return false;
if (sum_row[0] != sum_other[0])
return false;
return true;
}
if (condition) {
do_this()
}
{
if (condition)
do_this()
}
boolsquare::is_magic()
{
int i;
对于(i=0;i
一些评论:
编辑:为语句添加变量声明int,更新括号(聪明的想法,因为最后3个if-s没有使用索引)如果语句的格式如下:
bool Square::is_magic()
{
int i;
for (i = 0; i < size-1; i++)
{
if (sum_row[i] != sum_row[i+1])
return false;
if (sum_col[i] != sum_col[i+1])
return false;
}
if (sum_row[0] != sum_col[0])
return false;
if (sum_row[0] != sum_maindiag[0])
return false;
if (sum_row[0] != sum_other[0])
return false;
return true;
}
if (condition) {
do_this()
}
{
if (condition)
do_this()
}
不是这样的:
bool Square::is_magic()
{
int i;
for (i = 0; i < size-1; i++)
{
if (sum_row[i] != sum_row[i+1])
return false;
if (sum_col[i] != sum_col[i+1])
return false;
}
if (sum_row[0] != sum_col[0])
return false;
if (sum_row[0] != sum_maindiag[0])
return false;
if (sum_row[0] != sum_other[0])
return false;
return true;
}
if (condition) {
do_this()
}
{
if (condition)
do_this()
}
它们是您格式化代码的方式,您在两行之后关闭for循环,我想这不是您想要做的(因为您在后面引用的是var I)。如果语句的格式如下:
bool Square::is_magic()
{
int i;
for (i = 0; i < size-1; i++)
{
if (sum_row[i] != sum_row[i+1])
return false;
if (sum_col[i] != sum_col[i+1])
return false;
}
if (sum_row[0] != sum_col[0])
return false;
if (sum_row[0] != sum_maindiag[0])
return false;
if (sum_row[0] != sum_other[0])
return false;
return true;
}
if (condition) {
do_this()
}
{
if (condition)
do_this()
}
不是这样的:
bool Square::is_magic()
{
int i;
for (i = 0; i < size-1; i++)
{
if (sum_row[i] != sum_row[i+1])
return false;
if (sum_col[i] != sum_col[i+1])
return false;
}
if (sum_row[0] != sum_col[0])
return false;
if (sum_row[0] != sum_maindiag[0])
return false;
if (sum_row[0] != sum_other[0])
return false;
return true;
}
if (condition) {
do_this()
}
{
if (condition)
do_this()
}
它们是你格式化代码的方式,你在两行之后关闭for循环,我想这不是你想要做的(因为你在后面提到了var I)。非常感谢你。我会继续努力,我做到了,但它给了我同样的错误。我希望我能找出问题所在。哦,是的。。我忽略了那一个。。在声明中。。“for”的第一部分是初始化,所以您需要像通常一样定义变量。。我刚刚又试了一次,它仍然给我同样的错误。我在代码中看不到任何错误,这是唯一显示错误的部分。现在在>中有一个错误,表示“I”未在此范围内声明。然后,后面的每个if语句都会说“数组下标的类型无效”[int]”,这很奇怪。我甚至试着编译我的代码,它很好,所以除了这段代码还有其他问题。还有一件事,它可能是非常蹩脚的编译器,在c风格下工作。必须在“for”语句之前进行声明。现在试试代码。你们能在你们的问题中包括你们的正方形类的标题吗?谢谢,非常感谢。我会继续努力,我做到了,但它给了我同样的错误。我希望我能找出问题所在。哦,是的。。我忽略了那一个。。在声明中。。“for”的第一部分是初始化,所以您需要像通常一样定义变量。。我刚刚又试了一次,它仍然给我同样的错误。我在代码中看不到任何错误,这是唯一显示错误的部分。现在在>中有一个错误,表示“I”未在此范围内声明。然后,后面的每个if语句都会说“数组下标的类型无效”[int]”,这很奇怪。我甚至试着编译我的代码,它很好,所以除了这段代码还有其他问题。还有一件事,它可能是非常蹩脚的编译器,在c风格下工作。必须在“for”语句之前进行声明。现在试试代码。你们能在你们的问题中包括你们的正方形类的标题吗?谢谢