The expression C(n,r) denotes the number of r-element subsets of an n-element set.
The value of C(n,r) is given by the formula
c(n,r) = n! / ( r! * (n-r)! )
program that computes C(n,r) using the following component functions.
( a ) main: prompts the user for two numbers and accents them into n and r, respectively.
( b ) check: compares r and n. If r > n, check invokes the function err_msg,
which prints an appropriate error message.
( c ) comb: computes C(n,r).
( d ) fact: computes factorial.
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main ()
{
int n,r,z;
double ntotal = 1, rtotal = 1,ztotal = 1, integer, c;
cout << "Enter n in C(n,r) : ";
cin >> n;
cout << "Enter r in C(n,r) : ";
cin >> r;
//if n is less than r error message
if ( n < r)
cout << "n must be greater than or equal to r in C(n,r)" << endl;
else {
//n factorial
for ( int integer = n; integer >= 1; integer-- )
{
ntotal = ntotal * integer;
}
// r factorial
for ( int integer = r; integer >= 1; integer-- )
{
rtotal = rtotal * integer;
}
//n-r factorial
z= n-r;
for ( int integer = z; integer >= 1; integer-- )
{
ztotal = ztotal * integer;
}
//final calculations of the final answer
c = (ntotal / (rtotal * ztotal));
//Display of Results
cout << c << endl;
}
system ("pause");
return 0;
}
This post has been edited by qi0n: 15 November 2009 - 03:20 PM

New Topic/Question
Reply



MultiQuote



|