Problem Solving with C++ (10th Edition)
10th Edition
ISBN: 9780134448282
Author: Walter Savitch, Kenrick Mock
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Question
Chapter 14, Problem 4PP
Program Plan Intro
Sorting an array of integers
Program Plan:
- Include requires header file.
- Declare the function for fill array, sort, swap values and index of smallest.
- Define main function.
- Create prompt statement.
- Declare variables for sample array and number used.
- Call the function “fillArray”.
- Prompt statement for index of minimum number.
- Call the function “indexOfSmallest”.
- Call the function “sort”.
- Prompt statement for sorted numbers.
- Display the sorted number using “for” loop.
- Define “fillArray” function.
- This is function is used to read the numbers from user.
- Define “sort” function.
- This function is used to sort the number by recursively call the function “sort”.
- In this function, first declare the variable for index of next smallest.
- If the start index is less than “numberUsed – 1”, then
- Compute the index of next smallest number by calling the function “indexOfSmallest” with arguments of array, start index, and number of values in array.
- Call the function “swapValues” with argument array of start index and array of next element index.
- Increment the start index.
- Then recursively call the function “sort” with argument array “a”, starting index and number of values in a given array “a”.
- Define “swapValues” function.
- This function is used to swap the two numbers.
- Define “indexOfSmallest” function.
- This function is used to compute the index of smallest number by calling the function “indexOfSmallest” recursively.
- In this function, first assign the minimum to array of starting index.
- Then if the starting index is equal to “numberUsed – 1”, then returns the starting index value.
- Otherwise, recursively call the function “indexOfSmallest” with three arguments such as array “a”, increment of start index by “1” and “numberUsed” and this function is assigned to a variable “indexOfMin”.
- If the value of “min” is greater than “a[indexOfMin]”, then return the minimum index. Otherwise, return the starting index.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
Write a recursive function to sort an array of integers into ascending order using the following idea: the function must place the smallest element in the first position, then sort the rest of the array by a recursive call. This is a recursive version of the selection sort. (Note: You will probably want to call an auxiliary function that finds the index of the smallest item in the array. Make sure that the sorting function itself is recursive. Any auxiliary function that you use may be either recursive or iterative.) Embed your sort function in a driver program to test it. Turn in the entire program and the output.
Fibonacci numbers are a sequence of integers, starting with 1, where the value of each number is the sum of the two previous numbers, e.g. 1, 1, 2, 3, 5, 8, etc. Write a function called fibonacci that takes a parameter, n, which contains an integer value, and have it return the nth Fibonacci number. (There are two ways to do this: one with recursion, and one without.)
Write a recursive function that returns the smallest integer in an array. Write a test program that prompts the user to enter a list of five integers and displays the smallest integer.
Chapter 14 Solutions
Problem Solving with C++ (10th Edition)
Ch. 14.1 - Prob. 1STECh. 14.1 - Prob. 2STECh. 14.1 - Prob. 3STECh. 14.1 - Prob. 4STECh. 14.1 - Prob. 5STECh. 14.1 - If your program produces an error message that...Ch. 14.1 - Write an iterative version of the function cheers...Ch. 14.1 - Write an iterative version of the function defined...Ch. 14.1 - Prob. 9STECh. 14.1 - Trace the recursive solution you made to Self-Test...
Ch. 14.1 - Trace the recursive solution you made to Self-Test...Ch. 14.2 - What is the output of the following program?...Ch. 14.2 - Prob. 13STECh. 14.2 - Redefine the function power so that it also works...Ch. 14.3 - Prob. 15STECh. 14.3 - Write an iterative version of the one-argument...Ch. 14 - Prob. 1PCh. 14 - Prob. 2PCh. 14 - Write a recursive version of the search function...Ch. 14 - Prob. 4PCh. 14 - Prob. 5PCh. 14 - The formula for computing the number of ways of...Ch. 14 - Write a recursive function that has an argument...Ch. 14 - Prob. 3PPCh. 14 - Prob. 4PPCh. 14 - Prob. 5PPCh. 14 - The game of Jump It consists of a board with n...Ch. 14 - Prob. 7PPCh. 14 - Prob. 8PP
Knowledge Booster
Similar questions
- Without using Java environment Write a recursive function with two parameters: an array of ints and the number of elements in the array. The function will return the sum of all positive values in the array. Do not add any negative array elements to the sum. You can add another parameter to the function if you wish.arrow_forward1. The sorted values array contains 16 integers 5, 7, 10, 13, 13, 20, 21, 25, 30,32, 40, 45, 50, 52, 57, 60. Indicate the sequence of recursive calls that are made tobinaraySearch, given an initial invocation of binarySearch(32, 0, 15).show only the recursive calls. For example, initial invocation is binarySearch(45,0,15)where the target is 45, first is 0 and last is 15.arrow_forwardIn C language, implement two recursive versions of the linear search that gets an array of songs and a title and searches for a song with the given title in the array. 1. In this version the function returns the first index of the array containing the number. If the number is not in the array, the function returns -1. int linear_search_rec_first(int* ar, int length, int number); 2. In this version the function returns the last index of the array containing the number. If the number is not in the array, the function returns -1. int linear_search_rec_last(int* ar, int length, int number); Example of test for case 1: void test_q3() { int ar1[]={1,2,3,4,5,4,3,2,1}; if (linear_search_rec_first(ar1,9,2)==1) printf("Q3-1 ok\n"); else printf("Q3-1 ERROR\n"); } Example of test for case 2: void test_q3() { int ar1[]={1,2,3,4,5,4,3,2,1}; if (linear_search_rec_last(ar1,9,2) == 7) printf("Q3-3 ok\n"); else printf("Q3-3 ERROR\n"); }arrow_forward
- Write a recursive function to find the factorial of a number. Use the defined function to compute the term “nCr” for the following scenario: The values of ‘n’ and ‘r’ are stored in two parallel arrays of any user defined size . You have to Read the arrays n and r at run time. Compute n C r for each corresponding terms in the array ‘n’ and ‘r’, and display it properly formatted.arrow_forwardimplement two recursive versions of the linear search that gets an array of songs and a title and searches for a song with the given title in the array. In this version, the function returns the first index of the array containing the number. If the number is not in the array, the function returns -1. int linear_search_rec_first(int* ar, int length, int number);arrow_forwardInstructions Write a recursive function to implement the recursive algorithm of Exercise 16 (reversing the elements of an array between two indices). Also, write a program to test your function. Your program should prompt the user for the integers in the array, as well as the low index and then the high index. The instructions from Exercise 16 have been included below for your convenience: Suppose that intArray is an array of integers, and length specifies the number of elements in intArray. Also, suppose that low and high are two integers such that 0 <= low < length, 0 <= high < length, and low < high. That is, low and high are two indices in intArray. Write a recursive definition that reverses the elements in intArray between low and high. Textbook: C++ Programming: From Problem Analysis to Program Design 8th Edition Publisher: Cengage Learning Edition ISBN: 9781337102087arrow_forward
- Instructions Write a recursive function to implement the recursive algorithm of Exercise 16 (reversing the elements of an array between two indices). Also, write a program to test your function. Your program should prompt the user for the integers in the array, as well as the low index and then the high index. The instructions from Exercise 16 have been included below for your convenience: Suppose that intArray is an array of integers, and length specifies the number of elements in intArray. Also, suppose that low and high are two integers such that 0 <= low < length, 0 <= high < length, and low < high. That is, low and high are two indices in intArray. Write a recursive definition that reverses the elements in intArray between low and higharrow_forwardWrite a recursive function that adds all the elements in an array. The function will take two arguments, 1) An integer value that is greater than 0 and indicates the size of the array, and 2) An integer array of that size. The function should return an integer value that is the sum of the elements in the array. The function should add elements of the input array using recursion and should not use a loop.ii) Read both a string and the key (integer) is entered through the keyboard. Define a function to encrypt each and every character in a string with the given key. As a programmer, implement the same by writing the C code using pointers. If the given Key is positive, then traverse towards left of the character in the Alphabet sequence. Otherwise, move traverse towards the right of the character in the Alphabet sequence. Example : if the given string is "PRADEEP" and Key = 3 then the encrypted string is "SUDGHHS" iii) An ISBN (International Standard Book Number) is a 10 digit number…arrow_forwardWrite a recursive function that finds the number of occurrences of a specified character in a list. You need to define the following two functions. The second one is a recursive helper function.def count(chars, ch):def countHelper(chars, ch, high):Write a test program that prompts the user to enter a list of characters in one line, and a character, and displays the number of occurrences of the character in the list.arrow_forward
- java Write a recursive function with two parameters: an array of ints and the number of elements in the array. The function will return the sum of all positive values in the array. Do not add any negative array elements to the sum. You can add another parameter to the function if you wish.arrow_forwardin java Revers an Array of n integers Reversing an Array1. Describe the definition of recursive function.oBase case(s)oRecursive case(s)2. Write the code.arrow_forwarddef removeMultiples(x, arr) - directly remove the multiples of prime numbers (instead of just marking them) by creating a helper function. This recursive function takes in a number, n, and a list and returns a list that doesn’t contain the multiples of n.def createList(n) - a recursive function, createList(), that takes in the user input n and returns an array of integers from 2 through n (i.e. [2, 3, 4, …, n]). def Sieve_of_Eratosthenes(list) - a recursive function that takes in a list and returns a list of prime numbers from the input list.Template below: def createList(n): #Base Case/s #ToDo: Add conditions here for base case/s #if <condition> : #return <value> #Recursive Case/s #ToDo: Add conditions here for your recursive case/s #else: #return <operation and recursive call> #remove the line after this once all ToDo is completed return [] def removeMultiples(x, arr): #Base Case/s #TODO: Add conditions here for your…arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning