Beispiel #1
0
void BuildTimeline(long BoyTimes[MAX_PARTICIPANTS / 2][2], long GirlTimes[MAX_PARTICIPANTS / 2][2], TimeData Timeline [MAX_PARTICIPANTS], int NumberOfBoys, int NumberOfGirls) 
{
	bool DebugBuild = false;

	int iterator = 0;
	Person iteratorPerson;

	for (int i = 0; i < NumberOfBoys; i++)
	{
		iteratorPerson.SetValue(i, true);
		Timeline[iterator].SetValue(BoyTimes[i][0], iteratorPerson, true); 
		
		iterator++;
		Timeline[iterator].SetValue(BoyTimes[i][1], iteratorPerson, false);
		
		iterator++;
	}

	for (int i = 0; i < NumberOfGirls; i++)
	{
		iteratorPerson.SetValue(i, false);
		Timeline[iterator].SetValue(GirlTimes[i][0], iteratorPerson, true);

		iterator++;
		Timeline[iterator].SetValue(GirlTimes[i][1], iteratorPerson, false);

		iterator++;
	}

	// (time, id, isboy, startingTime)
	int length = 2 * (NumberOfGirls + NumberOfBoys);

	if (DebugBuild)
	{
		cout << endl << endl;
		PrintTimeline(Timeline, length);
		cout << endl << endl;
	}

	MergeSortTimeline(Timeline, 0, length - 1);

	if (DebugBuild)
		PrintTimeline(Timeline, length);
}
Beispiel #2
0
		void SetValue(TimeData timeData)
		{
			Time = timeData.Time;
			Identity.SetValue(timeData.Identity);
			IsStartingTime = timeData.IsStartingTime;
		}
Beispiel #3
0
		void SetValue(int time, Person identity, bool isStartingTime)
		{
			Time = time;
			Identity.SetValue(identity);
			IsStartingTime = isStartingTime;
		}