Heres My Code include using namespace std int combinationint
Heres My Code:
#include <iostream>
using namespace std;
int combination(int, int);
void tester();
int main()
{
int x;
int y;
int count;
cout << \"Enter a number X: \";
cin >> x;
cout << \"Enter a number Y: \";
cin >> y;
count = combination(y, x);
cout << \"Total Number of combination is \" << count << endl;
return 0;
}
int combination(int y, int x)
{
if (x == 1)
{
return y;
}
else if (x == y)
{
return 1;
}
else if (y > x && x > 1)
{
return combination(y - 1, x - 1) + combination(y - 1, x);
}
}
#include <iostream>
using namespace std;
int combination(int, int);
int main()
{
int x;
int y;
int count;
cout << \"Enter a number X: \";
cin >> x;
cout << \"Enter a number Y: \";
cin >> y;
count = combination(y, x);
cout << \"Total Number of combination is \" << count << endl;
return 0;
}
int combination(int y, int x)
{
if (x == 1)
{
return y;
}
else if (x == y)
{
return 1;
}
else if (y > x && x > 1)
{
return combination(y - 1, x - 1) + combination(y - 1, x);
}
}
#include <iostream>
using namespace std;
int combination(int, int);
int main()
{
int x;
int y;
int count;
cout << \"Enter a number X: \";
cin >> x;
cout << \"Enter a number Y: \";
cin >> y;
count = combination(y, x);
cout << \"Total Number of combination is \" << count << endl;
return 0;
}
int combination(int y, int x)
{
if (x == 1)
{
return y;
}
else if (x == y)
{
return 1;
}
else if (y > x && x > 1)
{
return combination(y - 1, x - 1) + combination(y - 1, x);
}
}
//Fucntion for TASK 4
void tester() {
int x;
x = combination(8, 4);
cout << \"The number of combinations of 4 items made out of a total of 8 items is : \" << x << endl;
}
So the part i am stuck on is part 5, i did the code for task 4. Thanks for the help.
Q1 Write a test (driver function to test the previously defined function, and have it print out the number of combinations of 4 items made out of a total of 8 items [i.e., Combinations(8, 4)] Let it print out, \"The number of combinations of 4 items made out of a total of 8 items is T, followed by the total calculated from the invocation of function Combinations. Q2 Use cout to print out a trace of each recursive level for the function call, CombinationC8, 4) Through this print out, you will have a better understanding on how the recursion works. At each recursive level, print out the values for parameter Yand X as well as the recursive level. Assume the recursive level starts from 1. The output of your code should look like: Recursive level 1: Recursive level 2: Hint: You may modify the recursive function\'s signature to CombinationsCY, X, level) where level indicates the recursive level you\'re at. Note that a high (greater number) recursive level indicates that you are further down er into the recursive calls.Solution
//combination.cpp
#include <iostream>
using namespace std;
//modified prototype
int combination(int, int,int );
int main()
{
int x;
int y;
int count;
int level=1;
cout << \"Enter a number X: \";
cin >> x;
cout << \"Enter a number Y: \";
cin >> y;
count = combination(y, x,level);
cout << \"The number of combinations of 4 items made out of a total of 8 items is : \" << count << endl;
system(\"pause\");
return 0;
}
//Modified combination method that takes three integer values
int combination(int y, int x,int level)
{
if (x == 1)
{
cout<<\"Recursive level \"<<level<<endl;
cout<<\"Y = \"<<y<<\" X = \"<<x<<endl;
return y;
}
else if (x == y)
{
cout<<\"Recursive level \"<<level<<endl;
cout<<\"Y = \"<<y<<\" X = \"<<x<<endl;
return 1;
}
else if (y > x && x > 1)
{
cout<<\"Recursive level \"<<level<<endl;
cout<<\"Y = \"<<y<<\" X = \"<<x<<endl;
return combination(y - 1, x - 1,level+1) + combination(y - 1, x,level+1);
}
}
------------------------------------------------------------------------------------------------------------------------
screens shot output:
Text output:
Enter a number X: 4
Enter a number Y: 8
Recursive level 1
Y = 8 X = 4
Recursive level 2
Y = 7 X = 3
Recursive level 3
Y = 6 X = 2
Recursive level 4
Y = 5 X = 1
Recursive level 4
Y = 5 X = 2
Recursive level 5
Y = 4 X = 1
Recursive level 5
Y = 4 X = 2
Recursive level 6
Y = 3 X = 1
Recursive level 6
Y = 3 X = 2
Recursive level 7
Y = 2 X = 1
Recursive level 7
Y = 2 X = 2
Recursive level 3
Y = 6 X = 3
Recursive level 4
Y = 5 X = 2
Recursive level 5
Y = 4 X = 1
Recursive level 5
Y = 4 X = 2
Recursive level 6
Y = 3 X = 1
Recursive level 6
Y = 3 X = 2
Recursive level 7
Y = 2 X = 1
Recursive level 7
Y = 2 X = 2
Recursive level 4
Y = 5 X = 3
Recursive level 5
Y = 4 X = 2
Recursive level 6
Y = 3 X = 1
Recursive level 6
Y = 3 X = 2
Recursive level 7
Y = 2 X = 1
Recursive level 7
Y = 2 X = 2
Recursive level 5
Y = 4 X = 3
Recursive level 6
Y = 3 X = 2
Recursive level 7
Y = 2 X = 1
Recursive level 7
Y = 2 X = 2
Recursive level 6
Y = 3 X = 3
Recursive level 2
Y = 7 X = 4
Recursive level 3
Y = 6 X = 3
Recursive level 4
Y = 5 X = 2
Recursive level 5
Y = 4 X = 1
Recursive level 5
Y = 4 X = 2
Recursive level 6
Y = 3 X = 1
Recursive level 6
Y = 3 X = 2
Recursive level 7
Y = 2 X = 1
Recursive level 7
Y = 2 X = 2
Recursive level 4
Y = 5 X = 3
Recursive level 5
Y = 4 X = 2
Recursive level 6
Y = 3 X = 1
Recursive level 6
Y = 3 X = 2
Recursive level 7
Y = 2 X = 1
Recursive level 7
Y = 2 X = 2
Recursive level 5
Y = 4 X = 3
Recursive level 6
Y = 3 X = 2
Recursive level 7
Y = 2 X = 1
Recursive level 7
Y = 2 X = 2
Recursive level 6
Y = 3 X = 3
Recursive level 3
Y = 6 X = 4
Recursive level 4
Y = 5 X = 3
Recursive level 5
Y = 4 X = 2
Recursive level 6
Y = 3 X = 1
Recursive level 6
Y = 3 X = 2
Recursive level 7
Y = 2 X = 1
Recursive level 7
Y = 2 X = 2
Recursive level 5
Y = 4 X = 3
Recursive level 6
Y = 3 X = 2
Recursive level 7
Y = 2 X = 1
Recursive level 7
Y = 2 X = 2
Recursive level 6
Y = 3 X = 3
Recursive level 4
Y = 5 X = 4
Recursive level 5
Y = 4 X = 3
Recursive level 6
Y = 3 X = 2
Recursive level 7
Y = 2 X = 1
Recursive level 7
Y = 2 X = 2
Recursive level 6
Y = 3 X = 3
Recursive level 5
Y = 4 X = 4
The number of combinations of 4 items made out of a total of 8 items is : 70






