Starting from:

$35

Computer Programming Homework #8 Solution

Part 1. [40 pts] Lets do some exercises to reinforce your recursion skills. You are asked to write a function that allows to do some useful operations on Hofstadter's Q-Sequence. The formula of these sequences is shown below:
  (  ) =    (   −   (   − 1)) +   (   −   (   − 2))
  (1) =   (2) = 1

You must write four operational functions and one menu function to successfully do this part. Menu function should look like the following:















The function takes an empty, fixed-sized (define the size of the array as 500 and use it where you needed)

integer array that is used by the array operations in the menu:

    • Fill array: The option takes an integer number (n) from the user and fills the array with first n items of the Hofstadter's Q-Sequence. The array items that out of the range (n) should be zero. The function prototype of this part is shown below:

void generate_hofstadters_sequence (int *arr, int n)

    • Find biggest number: The function finds the maximum valued item in the array recursively. The function prototype of this part is shown below:

int find_max (int arr[], int index, int max_value)

    • Calculate sum: The function calculates the sum of items in the array recursively. The function prototype of this part is shown below:

int sum_array (int arr[])



Page 1 of 3
CSE102 – Spring 2020    Homework #8

    • Calculate standard deviation: The function calculates the mean and the standard deviation of the array recursively. The function returns standard deviation by default and the mean value returns by reference.

double std_array (int arr[], double *mean, int n, int index)

    • Exit: Terminates the menu function. The menu should work until user select this option. Don’t forget to print the calculated/found values after the recursive functions done their jobs on option 2,3 and 4.

More products