demo-combinations-with-prototypes - return 0; } int...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
// Programmer: Doug Hogan // Section: N/A // Program: Demo program: Factorial, Permutations, Combinations // Date: October 12, 2008 // Description: This program computes the factorial using a function and demonstrates // a function using another function (and will be used for class // discussion on prototypes). #include <iostream> using namespace std; int Factorial(int x); // PRE: x >= 0 // POST: FCTVAL == x!, i.e. the factorial of x int NumPermutations(int n, int r); // PRE: // POST: FCTVAL == number of ways to arrange r objects chosen from n int NumCombinations(int n, int r); // PRE: // POST: FCTVAL == number of ways to choose r objects chosen from n // (without regard to order) int main() { cout << "P(5, 2) = " << NumPermutations(5, 2) << endl; cout << "5 choose 2 = " << NumCombinations(5, 2) << endl;
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Background image of page 2
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: return 0; } int Factorial(int x) // PRE: x &gt;= 0 // POST: FCTVAL == x!, i.e. the factorial of x { int result = 1; // factorial of x; starts at 1 // as we'll multiply by it and // as 0! = 1 for(int i = 1; i &lt;= x; i++) // multiply result by all numbers { // b/w 1 and x to find factorial result = result * i; } return result; } int NumPermutations(int n, int r) // PRE: n &gt; 0 &amp;&amp; r &gt;= 0 &amp;&amp; r &lt;= n // POST: FCTVAL == number of ways to arrange r objects chosen from n { return Factorial(n)/Factorial(n-r); } int NumCombinations(int n, int r) // PRE: n &gt; 0 &amp;&amp; r &gt;= 0 &amp;&amp; r &lt;= n // POST: FCTVAL == number of ways to choose r objects chosen from n // (without regard to order) { return NumPermutations(n, r)/Factorial(r); }...
View Full Document

Page1 / 2

demo-combinations-with-prototypes - return 0; } int...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online