-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 に答える