Starting from:

$30

CS302-Assignment 1 Recursion Solved

In this assignment, you will implement a series of problems using recursion, the problems are:

1.   Output a series of stars (refer to the sample output), you will need to implement the following recursive functions to perform this problem

•    void printStarsIncreasing(int) - a function that prints out stars in a right triangle form, the first line has one star, the next row has two stars, the next row has three stars up to the integer passed in, if I pass in the value 4, then this function prints out one line with one star, next line with two stars, the next line with three stars, and the last line with 4 stars

•    void printStarsDecreasing(int) - a function that prints out stars in a right triangle form using an integer passed in, the first line prints out the amount of stars passed into the function, the next line prints out one less star and so on, if I pass in the value 4, the first line prints out four stars, the next line prints out three stars, the next line prints out two stars, and the last line prints out one star

•    void printStarsUtil(int) - this function takes in an integer and prints out that amount of stars, this function will be used in the printStarsIncreasing and printStarsDecreasing

You can visualize the problem in a way that you would need two nested loops, think of printStarsUtil as the inner loop and printStarsIncreasing and printStarsDecreasing as the two separate outer loops

2.   Verify if a string is a palindrome using the following recursive function: bool isPalindrome(string), the function takes in string object and returns true if the string is a palindrome and false otherwise, a palindrome is a string that reads the same from left to right and right to left

3.   Verify if the digits in a given number is increasing from left to right using the following recursive function: bool increasingDigits(unsigned long long) returns true if the number read from left to right is non decreasing, i.e. if I pass in 1234 or 111345 would return true and for 2314 or 98653 would return false

Specifications
•    Comment your code and your functions

•    Do not modify the function prototypes

•    Do not use global variables

•    Everything must be recursive, you can only use a loop structure for input

Example Output
$ g++ Assignment01.cpp

$ ./a.out

Enter the width: hi Seriously?! Wow!

Enter the width: -9 Seriously?! Wow!

Enter the width: 0 Seriously?! Wow!

Enter the width: 4

*

**

***

****

****

***

**

*

Ok hopefully that worked Enter a string: racecar racecar is a palindrome, nicely done

Hopefully we are still doing alright, last part

Enter a number: 1222345

Looks like the digits are increasing from left to right

$ ./a.out

Enter the width: 3

*

**

***

***

**

*

Ok hopefully that worked

Enter a string: everyvillainislemons

Oh well, everyvillainislemons is not a palindrome

Hopefully we are still doing alright, last part Enter a number: hi

Can we just NOT do this again?!?!?!?!

Enter a number: 2345671

Digits do not increase from left to right, oh well

More products