int main()
{
	clock_t time = clock();

	IFileReader* reader = new PokFileReader();
	IFileWriter* writer = new FileWriter();

	Helper* helper = new Helper(reader, writer);

	std::vector<Patient> group1 = helper->ReadGroup("ALLD2", "D2", ".POK", 60);
	std::vector<Patient> group2 = helper->ReadGroup("ALLD3", "D3", ".POK", 42);

	IMeasureCalculator* measureCalculator = new PetuninMeasureCalculator();

	Calculator* calculator = new Calculator(group1, group2, measureCalculator);

	std::vector<std::vector<double>> averageMatrix = calculator->AverageMatrix(15);

	averageMatrix = TransposeMatrix(averageMatrix);

	writer->WriteMatrix("result.txt", averageMatrix);

	delete calculator;
	delete measureCalculator;
	delete helper;
	delete reader;
	delete writer;

	//Do stuff

	time = clock() - time;

	double ms = double(time) / CLOCKS_PER_SEC * 1000;

	std::cout << "Finished!\nTime elapsed: " << ms << " ms" << std::endl;
	std::cin.get();

	return 0;
}