From f4a2e785a3debf75db94b21fadf2d84abc594f05 Mon Sep 17 00:00:00 2001 From: Matthew Strapp Date: Sun, 14 Apr 2019 12:03:20 -0500 Subject: Start 6B (much easier than 6A) --- ee1301/wk6/hw6_directory/strap012_HW6B.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 ee1301/wk6/hw6_directory/strap012_HW6B.cpp (limited to 'ee1301/wk6/hw6_directory/strap012_HW6B.cpp') diff --git a/ee1301/wk6/hw6_directory/strap012_HW6B.cpp b/ee1301/wk6/hw6_directory/strap012_HW6B.cpp new file mode 100644 index 0000000..5b15ca0 --- /dev/null +++ b/ee1301/wk6/hw6_directory/strap012_HW6B.cpp @@ -0,0 +1,29 @@ +#include + +int ff(int x); + +int main() { + int value = -1; + do { + std::cout << "Please enter a value of x: "; + std::cin >> value; + } while (value<0); + std::cout << "Beginning calculation of ff(x)...\n"; + int ffx = ff(value); + std::cout << "Calcuation complete, ff(x) = " << ffx << std::endl; +} + +int ff(int x) { + if (x > 1) { + if (x%2 == 0) { + std::cout << "Calling ff(" << x/2 << ")\n"; + return x*ff(x/2); + } else { + std::cout << "Calling ff(" << x-2 << ")\n"; + return x*ff(x-2); + } + } else { + std::cout << "Returning from ff(" << x << ") = 1\n"; + return 1; + } +} -- cgit v1.2.3