Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/149.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 幻方函数C++;_C++_Project_Magic Square - Fatal编程技术网

C++ 幻方函数C++;

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])

这是我的幻方的最后一个函数,出于某种原因,它给了我一个错误,数组下标有“[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])
        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
一些评论:

  • if、for、while语句后面的1个命令不需要括号

  • 建议使用if->else if->else。在这里,这并不重要,因为一旦发现不正确的地方,就跳出函数,但如果继续编写代码,即使没有必要,也会检查其他语句

  • 习惯一些风格,做你自己的或者模仿别人的。就我个人而言,我是这样使用括号的:

    如果(某物!=某物){ doSomeNastyThings(); 多文莫尔(); }

  • 祝你好运


    编辑:为语句添加变量声明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
    一些评论:

  • if、for、while语句后面的1个命令不需要括号

  • 建议使用if->else if->else。在这里,这并不重要,因为一旦发现不正确的地方,就跳出函数,但如果继续编写代码,即使没有必要,也会检查其他语句

  • 习惯一些风格,做你自己的或者模仿别人的。就我个人而言,我是这样使用括号的:

    如果(某物!=某物){ doSomeNastyThings(); 多文莫尔(); }

  • 祝你好运


    编辑:为语句添加变量声明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”语句之前进行声明。现在试试代码。你们能在你们的问题中包括你们的正方形类的标题吗?谢谢