for (int i = 0; i < 40; i++)
        {
            
            for (int j = 0; j < 19; j++)
            {
               if (j == 19)
                   break ; 
                for (int k = 0; k < jxyongshi1[j]; j++)
                    f1[i, 0] = f1[i, 0] + w * p[j, Chrom1[i, j] + k];
            }
               
在运行时总是提示 jxyongshi1[j]/*(j的值此时是19)*/索引超出数组下限。我加了一个break语句还是出现这样的问题,请问是为什么?

解决方案 »

  1.   

    本帖最后由 bdmh 于 2012-04-12 09:05:17 编辑
      

  2.   

    for (int i = 0; i < 40; i++)
      {
        
      for (int j = 0; j < 19; j++)
      {
      if (j == 18)//改这里
      break ;  
      for (int k = 0; k < jxyongshi1[j]; j++)
      f1[i, 0] = f1[i, 0] + w * p[j, Chrom1[i, j] + k];
      }
    这样就好了
      

  3.   

    for (int k = 0; k < jxyongshi1[j]; j++)
    应该是?
    for (int k = 0; k < jxyongshi1[j]; k++)