Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Please make sure your code will compile on Visual Studio 2015 correctly, and do

ID: 3677280 • Letter: P

Question

Please make sure your code will compile on Visual Studio 2015 correctly, and do not copy someone's code that is close to this assignment( but not really for this assignment). Please show all the code not just some functions. Really appreciate.

Develop a recursive function to determine the number of distinct ways in which a given amount of money in cents could be changed into quarters, dimes, nickels, and pennies. For example, if the amount is 17 cents, then there are six ways to make changes. Here is the sample output:

1) 1 dime, 1 nickel, and 2 pennies
2) 1 dime and 7 pennies
3) 3 nickels, and 2 pennies
4) 2 nickels, and 7 pennies
5) 1 nickels, and 12 pennies
6) 17 pennies


Here is the function interface:

// precondition: denomination = 1 (for penny), 2 (for nickel), 3 (for dime), or 4 (for quarter).
//
// postcondtion: If amount < 0, then 0 has been returned. Otherwise, the value returned is the
//               number of ways that amount can be changed into coins whose denomination is
//               no larger than denomination
int ways (int amount, int denomination);


For the sake of simplifying the ways function, develop a function coins that return the value of each denomination.

Thus coins(1) returns 1, coins(2) returns 5, coins(3) returns 10, and coins(4) returns 25.

Develop a main driver function that takes the user input of initial amount in cents and outputs the entire number of ways that amount can be changed into quarters, dimes, nickels, and pennies.

Also printout an optimal way (with coin count) that minimize the number of coins for the specified amount of cents.

Hints:

Based on the Homework dealing with recursion, most of you would think the ways() is the recursive function. Ways() is just the driver to find the number of ways, print them and print the shortest path). Instead ways is a (regular) function that calls the recursive function. Call it something like waysRecursive. To know what to pass in the recursive function, consider what you need every combination of. You need every combination possible with Quarters, then every combination starting with dimes, then nickels then pennies. See attached output showing this with 53 cents as an example.

So, you probably have to know the amount (that presumably keeps lowering))

Then what else should you pass...probably the denomination since you are dealing with starting Quarters, then dimes, etc.

Then remember that you have to keep the shortest path (likely a list or a vector denoting the shortest path). If only there was a way to pass a variable that if it changes in the function, it also changes in the calling function.

There may be other functions that you want to write, like printing functions etc. Remember modular coding is much better than tons of lines of code in main or even other functions. At least by my solution, there is only one recursive function.

attached output

Explanation / Answer

i dont know .net so i am giving you logic in c++ code