-3

我试图运行以下代码

  int salespersons=0,weeks=0,days=5;

  double weekly_sales[weeks][salespersons][days];
  double total_weekly_sales[weeks];


for(int w=0; w < weeks;w++)
  {
     for(int d =0; d < days; d++)
     {  

        for(int s=0; s < salespersons; s++)
        {

           {
              total_weekly_sales[w]+=weekly_sales[w][s][d];
              total_overall_weekly_sales[s]+= weekly_sales[w][s][d];

           }
        }  
     }

  }

当我只跑..

cout << total_weekly_sales[0];

我得到 NaN 因此在处理其余部分时跳过了数组的第一部分。

4

3 回答 3

5
double weekly_sales[weeks][salespersons][days];
double total_weekly_sales[weeks];

未初始化。

编辑:这是你应该如何初始化它们:

double weekly_sales[weeks][salespersons][days] = { { { 0.0 } } };
于 2013-04-04T19:19:57.760 回答
2
double total_weekly_sales[weeks];

total_weekly_sales[w]+=weekly_sales[w][s][d];

您正在添加一个未初始化的变量。

并打印一个未初始化的变量

cout << total_weekly_sales[0];
于 2013-04-04T19:21:53.830 回答
1

您尝试使用代码并初始化所有变量

    int weeks=2,salepersons=3,days=1;

        double weekly_sales[weeks][salespersons][days];
          double total_weekly_sales[weeks];

    for(int w=0; w < weeks;w++)
      {
         for(int d =0; d < days; d++)
         {  
        for(int s=0; s < salespersons; s++)
        {

           {
              total_weekly_sales[w]=2;
              weekly_sales[w][s][d]=1;

           }
        }  
     }

  }


    for(int w=0; w < weeks;w++)
      {
         for(int d =0; d < days; d++)
         {  

            for(int s=0; s < salespersons; s++)
            {

               {
                  total_weekly_sales[w]+=weekly_sales[w][s][d];
                  total_overall_weekly_sales[s]+= weekly_sales[w][s][d];

               }
            }  
         }

      }

并使用图书馆!!!

于 2013-04-04T19:22:29.443 回答