예제 #1
0
파일: problem.c 프로젝트: N8Stewart/Euler
int main(void){
	FILE *in;
	int i;

	/* Create file handle */
	if((in = fopen(FILENAME, "r")) == NULL){
		printf("Unable to open file '%s'\n", FILENAME);
		return 1;
	}
    
	/* Construct sum and current number lists */
    list *sum = malloc(sizeof(list));
    constructList(sum, LENGTH);
 	list *currNum = malloc(sizeof(list));
 	constructList(currNum, LENGTH);
	
	/* Compute the large number by repetitively loading the numbers from file and adding to sum */
	loadNumber(in, sum);
	for (i = 1; i < NUMBERS; i++) {
		loadNumber(in, currNum);
		addNumber(sum, currNum);
	}
	
	/* Print the first 10 digits of sum */
	printNumber(sum);

	/* Deconstruct all constructs */
    fclose(in);
 	destructList(sum);
    free(sum);
	free(currNum);
    
    return 0;
}
예제 #2
0
bool Number::loadNumber(const char* name, const char* fmt, int base /* = 0 */)
{
	auto numberSeries = NumberSeries::create();
	numberSeries->loadNumber(fmt, base);
	_numberContainer.insert(name, numberSeries);
	return true;
}