一个二维数组 例如  int a [3][3] 如果我想知道,这里面是否有元素等于 0 ,如果等于0 我就让 remain加一 ,我应该如何做呢?     int remain = 1;
      for(int i=0; i<rows; i++)
      {
          for(int j=0; j<cols; j++)
          {
              if(board[i][j]== 0) // 这里我不知道如何写了,请问,如果改写呢?
              remain++;
          }
      }
          if (remain = 0) 
          return true;
          else
          return false;

解决方案 »

  1.   

        int remain = 1; 
          for(int i=0; i <rows; i++) 
          { 
              for(int j=0; j <cols; j++) 
              { 
                  if(board[i][j]== 0) // 这里我不知道如何写了,请问,如果改写呢? 
                  remain++; 
              } 
          } 
              if (remain = 0) 
              return true; 
              else 
              return false;
    从你的程序的意思来看,如果数组全为0则返回true,只要有一个不为0就返回false
    所以我觉得你可以这样做
        int remain = 1; 
          for(int i=0; i <rows; i++) 
          { 
              for(int j=0; j <cols; j++) 
              { 
                  if(board[i][j]!= 0) // 这里我不知道如何写了,请问,如果改写呢? 
                      return false;
              } 
          } 
              return true;
      

  2.   

    其他不变
              if (remain == 1) 
              return true; 
              else 
              return false;
      

  3.   


    int a[3][3]int型的,直接比较就可以了吧
      

  4.   

    你首先应该将remain赋值为0,意思就是初始化时你的二维数组只有0个0。通过判断得出remain的值可以得出数组中有多少个0,并且下面的if(remain=0)应该改成remain==0
    if语句里面的必须是true or false!
      

  5.   

    其实楼主自己已经做得差不多了,你自己跟踪一边程序执行过程肯定就明白了如果楼主要找的是哪个元素为0,那么if(board[i][j]== 0) 的时候记录i,j,就是你要找的为0的元素