Database System Concepts
7th Edition
ISBN: 9780078022159
Author: Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher: McGraw-Hill Education
expand_more
expand_more
format_list_bulleted
Concept explainers
Question
Please IN C++
Write the simplest program that will demonstrate iteration vs recursion using the following guidelines -
- Write two primary helper functions - one iterative (IsArrayPrimeIter) and one recursive (IsArrayPrimeRecur) - each of which
- Takes an array of integers and its size as input params and returns a bool such that
- 'true' ==> all elements of the array are prime, so the array is prime,
- 'false' ==> at least one element in array is not prime, so array is not prime.
- Print out a message "Entering <function_name>" as the first executed statement of each function.
- Perform the code to test whether every element of the array is a Prime number.
- Print out a message "Leaving <function_name>" as the last executed statement before returning from the function.
- Remember - there will be nested loops for the iterative function and there can be no loops at all in the recursive function.
- For the recursive function - define one other helper function (IsPrimeRecur) which will recursively check if a number is prime or not - it will
- take the integer dividend (number to be checked for prime) and the integer divisor to perform the division,
- return true or false,
- not contain any loops to check if a number is prime,
- be the most efficient check possible, and
- write out the entering and exiting function statement as in #1-2 and #1-4 above.
- Remember - replace <function_name> with the actual name of each function.
- Including your 'main', there will be a total of 4 functions in your program and only the primary helper functions can be invoked from 'main'. No other functions are needed, so do not add unnecessary helper functions.
- Reminder Note - for all functions except 'main', the 'Entering <function name>' and 'Leaving <function name'> statements should be printed.
- Remember: 1 is not a prime number.
- Hint - try to complete your iterative code first and then convert it piece by piece to the recursive code.
- Takes an array of integers and its size as input params and returns a bool such that
- In your main:
- Declare a global integer constant called SORT_MAX_SIZE = 8.
- Print a one line message stating exactly "Please enter your input data on one line only."
- Then read ONE input line from standard input which will consist of several numbers separated by spaces such that
- The first positive integer number representing the number of elements in the array, followed by
- That many positive integer numbers representing the contents of the array to be checked for prime.
- You can expect that the user input will be correct as specified here.
- Create an array based on the size input provided by the user.
- Make a call to the primary iterative function passing the array and its size.
- If every member is a Prime, then the 'main' should print out exactly 'Array was found to be prime using iteration', otherwise print out 'Not a Prime Array using iteration'.
- Then make a call to the primary recursive function passing the array and its size.
- If every member is a Prime, then the 'main' should print out exactly 'Array was found to be prime using recursion', otherwise print out 'Not a Prime Array using recursion'.
- If your functions are coded correctly, both should come up with the same answer, except you should have lots more output statements using recursion.
- There is no sample output for you to match against but the instructions above are quite clear on how the output should look. The output for each run specified in #6 below can run into several screens.
- You should use primitive arrays - DO NOT USE
VECTORS , COLLECTIONS, SETS, BAGS or any other data structures from your programming language. - For python programmers - you are allowed to get input into a list and only use of append(), count() and index() methods for a Python list if needed.
- There will be only one code file in your submission and it should be called 'lab1.cpp' or 'lab1.java' or 'lab1.py'.
- Run your program twice in the console with the following inputs:
- 5 53 5099 1223 567 17
- 4 1871 8069 3581 6841
- Remember to take multiple screenshots of the both the runs so that they are clearly readable without needing to zoom in. Collect all your screenshots into one single PDF called 'lab1.pdf' for easy review.
- For documentation, include your name block as well pre/post and pseudocode for the 3 functions which are not 'main'. For pre/post documentation and pseudocode examples, see Design Tools and Documentation.pdfDownload Design Tools and Documentation.pdf
- Upload your code file and your PDF file in one zip file called 'lab1.zip'. Your zip file should also not include any folders or sub-folders or anything else or you will lose points for not following
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution
Trending nowThis is a popular solution!
Step by stepSolved in 4 steps with 5 images
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Similar questions
- Modify the recursive Fibonacci function to employ the memoization technique discussed in this chapter. The function creates a dictionary and then defines a nested recursive helper function named memoizedFib. You will need to create a dictionary to cache the sum of the fib function. The base case of the fib function is the same as before. However, before making any recursive calls, the helper function looks up the value for the function’s current argument in the dictionary (use the method get, with None as the default value). If the value exists, the function returns it and skips any recursive calls. Otherwise, after the helper function adds the results of its two recursive calls, it saves the sum in the dictionary with the current argument of the function as the key. Note: The program should output in the following format: n fib(n) 2 1 4 3 8 21 16 987 32 2178309 ---------------------------------------------------------------------------------- def…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++ please and thank you!arrow_forward
- Data Structures and Algorithms in C/C++ a) Implement the addLargeNumbers function with the following prototype: void addLargeNumbers(const char *pNum1, const char *pNum2); This function should output the result of adding the two numbers passed in as strings. Here is an example call to this function with the expected output: /* Sample call to addLargeNumbers */ addLargeNumbers("592", "3784"); /* Expected output */ 4376 b) Implement a test program that demonstrates adding at least three pairs of large numbers (numbers larger than can be represented by a long). c) (1 point) Make sure your source code is well-commented, consistently formatted, uses no magic numbers/values, follows programming best-practices, and is ANSI-compliant.arrow_forwardPlease use easy logic with proper indentations and comments for understanding!. Coding should be in C++. 3. Define a class which stores up to 10 integer values in an array. The class should also define the following 4 public methods: setNumber – accepts an integer value to store in the array. The value is stored in the next available element of the array (first call to the method stores the value in element 0 with the second call storing the value in element 1.) The method returns true if there is room in the array and the integer was successfully stored. Returns false otherwise. clear – removes all values from the array so that the array can be reused. displayNumbers – displays the values currently stored in the array. getStats – determines the largest, smallest, and average of the values currently stored in the array. These values are returned to the caller via reference parameters. All methods should produce correct results regardless of the order in which…arrow_forwardc programming Task 3: Complete armstrong_task3.c by implementing armstrong_recursive function. int armstrong_recursive (int arm); It performs same operation as in Task 1, however in a recursive manner. A number to be checked whether it is armstrong or not is given as an input and the function returns the summation of the digits. If the returned value is equal to the given input value then it is an armstrong number.arrow_forward
arrow_back_ios
arrow_forward_ios
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education