为数组C ++中的元素分配多个值

时间:2015-02-05 15:58:20

标签: c++ arrays element

背景资料

我正在C++设计一个程序,为我的工作生成每周rota。 它首先指定了某些标准,例如每个人需要工作多少小时以及他们应该工作的班次类型,即仅在白天轮班,仅在周末等。 我设计随机生成rota的代码部分的方式是初始化7 x 18 array(一周7天,工作18小时覆盖一天)。然后程序将以for循环开始,以确定哪一天,然后是嵌套for循环,以确定我们关注的一天中的哪个小时(抱歉,我知道这里的术语用法有点粗略)。每天的每个小时,它将生成一个随机数并将其分配给元素。 (注意:程序开头的每个人都会被赋予一个整数来表示它们。)

我的问题

我想在数组中分配多个值的元素(我需要在任何给定的时间内工作多个人。)所以我想知道这是否可能,如果是这样,我将如何去做。 我到目前为止的代码插入到下面。 (注意:我确实意识到这已经处于起步阶段。我首先想要在花费大量时间编写它之前看看我的总体思路是否有效。) 提前谢谢。

#include <fstream>
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()

{  ofstream outFile;
   outFile.open("array.dat");

   srand(time(NULL));

   int NoOfDaysInWeek=7;
   int NoOfHoursinDay=18;

   int array[NoOfDaysInWeek][NoOfHoursinDay];

   James=1;
   Mark=2;
   Will=3;
   Jamie=4;
   Lisa=5;
   Sandra=6;
   Chris=7;
   Julia=8;
   Jane=9;
   Anne=10;
   Alexandra=11;
   Jenny=12;

   for (int i=0; i<NoOfDaysInWeek; i++) { // loop for day of week
      for (int j=2; j<12; j++) {         // loop for hours 2 to 12 (already           
         array[i][j]=5;
      }
      for (int j=0; j<8; j++) {
         array[i][j]=(rand() % 4)+1;  // only want mark, james, will or jamie to get these shifts.
      }
   }
}

0 个答案:

没有答案