diff --git a/Project0/src/fraction_summing/fraction_toolbox.cpp b/Project0/src/fraction_summing/fraction_toolbox.cpp index 90e973e..959cf17 100644 --- a/Project0/src/fraction_summing/fraction_toolbox.cpp +++ b/Project0/src/fraction_summing/fraction_toolbox.cpp @@ -90,6 +90,7 @@ double sum_fraction_array_approx(fraction frac_array[], int n) { double sum = 0; for (int i = 0; i < n; i++) { + fraction& frac = frac_array[i]; sum += fraction2double(frac); } return sum; diff --git a/Project0/src/fraction_summing/fraction_toolbox.o b/Project0/src/fraction_summing/fraction_toolbox.o deleted file mode 100644 index 7baa377..0000000 Binary files a/Project0/src/fraction_summing/fraction_toolbox.o and /dev/null differ diff --git a/Project0/src/fraction_summing/main b/Project0/src/fraction_summing/main deleted file mode 100755 index 611f16d..0000000 Binary files a/Project0/src/fraction_summing/main and /dev/null differ diff --git a/Project0/src/fraction_summing/main.cpp b/Project0/src/fraction_summing/main.cpp index 0c02967..c58069c 100644 --- a/Project0/src/fraction_summing/main.cpp +++ b/Project0/src/fraction_summing/main.cpp @@ -64,15 +64,15 @@ static void test_array_functions(int n) { fraction* a = (fraction*) malloc(sizeof(fraction) * n); fill_fraction_array(a, n); - + cout << "Sum of array as fraction: " << endl; print_fraction(sum_fraction_array(a, n)); cout << "Sum of array as double (approx.): " << endl; cout << sum_fraction_array_approx(a, n) << endl; - // find n for which sum function breaks. Explain what is happening. n=4448, - // this is the first number where the numerator overflows and thus + // find n for which sum function breaks. Explain what is happening. n=1290 + // this is the first number where the denominator overflows and thus // erroneoulsly becomes a negative number. The overflow is caused by the // sum_fractions function, specifically in the multiplication between // denominators. The approximation function doesn't overflow since fractions @@ -94,13 +94,7 @@ static void test_toolbox(int argc, char* argv[]) test5(); cout << "\n========== test_array_functions ========= " << endl; -#if 1 - cout << "Input n: " << endl; - int n; - cin >> n; -#else - int n = 5; -#endif + int n = 1290; test_array_functions(n); } diff --git a/project0_maggioni_claudio.tgz b/project0_maggioni_claudio.tgz new file mode 100644 index 0000000..5644b48 Binary files /dev/null and b/project0_maggioni_claudio.tgz differ