lovekeiiiy
Member
- Joined
- Dec 29, 2013
- Messages
- 12
- Programming Experience
- Beginner
I need some help. Have an homework assignment where you're suppose to print all possible combinations of a teams of a given size that can be formed group of another size. The assignment is done in a console application.
I understand the gist of the problem. I don't really understand the mathematical formula given in the book: (n, k) = (n ? 1, k ? 1) + (n ? 1, k) k=size of team, n=size of group. I do get overall what it's doing. I found algorithm for the formula that works and finds the number of combinations.
What I was trying to do is create use a list of integers to represent the members of the group. Then have recursive method find the combinations for print the teams. I can't figure out how to print the teams.
recursive method
main method
the other code in main is getting team and group size from the user and call methods to validate user input.
I understand the gist of the problem. I don't really understand the mathematical formula given in the book: (n, k) = (n ? 1, k ? 1) + (n ? 1, k) k=size of team, n=size of group. I do get overall what it's doing. I found algorithm for the formula that works and finds the number of combinations.
What I was trying to do is create use a list of integers to represent the members of the group. Then have recursive method find the combinations for print the teams. I can't figure out how to print the teams.
recursive method
C#:
//finds and displays all possible teams from given group size, and team size public static void showTeams(int groupSize, int teamSize, string team)
{
//alogrith help/guide from: https://www.gidforums.com/t-26253.html
//(n, k) = (n ? 1, k ? 1) + (n ? 1, k) k=size of team, n=size of group (forumal from class textbook)
//local variables
//base case: team size is 0
if(teamSize == 0)
{
//team += groupMembers[groupSize].ToString() + " ";
//Console.WriteLine("team = " + team);
intTeamCounter++;
return;
}
//base case two: team size is larger than group size
else if (groupSize < teamSize)
{
//can't have team larger than group.
return;
}
else
{
// team += groupMembers[groupSize - 1].ToString() + " ";
//reduce group size by one, and team size by one
showTeams(groupSize-1,teamSize-1, team);
showTeams(groupSize-1, teamSize, team);
}
}
main method
C#:
...[code removed]...
//create group list groupMembers = new int[intSizeOfGroup];
for(int x = 0; x < intSizeOfGroup; x++)
{
groupMembers[x] = (x + 1);
}
string team= "";
//find all team combines and display
showTeams(intSizeOfGroup, intSizeOfTeam, team);
//display number of teams found
Console.WriteLine("The number of team combinations is " + intTeamCounter);
the other code in main is getting team and group size from the user and call methods to validate user input.