demo-combinations-with-prototypes

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

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

// 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;

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

View Full Document
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

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

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

View Full Document
Ask a homework question - tutors are online