Write the simplest C++ program that will demonstrate iteration vs recursion using the following guidelines -  Please include pre/post and pseudocode for the 3 functions which are not 'main' in the solution. Write two primary helper functions - one iterative (IsArrayPrimeIter) and one recursive (IsArrayPrimeRecur) - each of which Take an array and its size as input params and return a bool such that 'true' ==> array and all elements are prime, 'false' ==> at least one element in array is not prime, so array is not prime.  Print out a message "Entering " as the first statement of each function. Perform the code to test whether every element of the array is a Prime number. Print out a message "Leaving " as the last 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.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
100%

Write the simplest C++ program that will demonstrate iteration vs recursion using the following guidelines - 

Please include pre/post and pseudocode for the 3 functions which are not 'main' in the solution.

  1. Write two primary helper functions - one iterative (IsArrayPrimeIter) and one recursive (IsArrayPrimeRecur) - each of which
    1. Take an array and its size as input params and return a bool such that
      • 'true' ==> array and all elements are prime,
      • 'false' ==> at least one element in array is not prime, so array is not prime. 
    2. Print out a message "Entering <function_name>" as the first statement of each function.
    3. Perform the code to test whether every element of the array is a Prime number.
    4. Print out a message "Leaving <function_name>" as the last statement before returning from the function.
    5. Remember - there will be nested loops for the iterative function and there can be no loops at all in the recursive function.
    6. For the recursive function - define one other helper function (IsPrimeRecur) which will recursively check if a number is prime or not - it will
      1. return true or false,
      2. not contain any loops to check if a number is prime,
      3. be the most efficient check possible, and
      4. write out the entering and exiting function statement as in #1-2 and #1-4 above. 
    7. Remember - replace <function_name> with the actual name of each function.
    8. 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'. Reminder Note - for all functions except 'main', the 'Entering <function name>' and 'Leaving <function name'> statements should be printed.
    9. Hint - try to complete your iterative code first and then convert it piece by piece to the recursive code.
  2. In your main:
    1. You can expect the user will input the number of elements for the array on one line, not to exceed SORT_MAX_SIZE = 16. You can reasonably expect that the user input will be correct, but you should default it to SORT_MAX_SIZE just in case.
    2. Create an array based on the size input provided by the user.
    3. On the next input line you can expect the user will provide all the array elements separated by spaces. Each of the integers input by the user will be between 1 and 9999, both inclusive. Remember: 1 is not a prime number.
    4. Make a call to the primary iterative function passing the array and its size.
    5. If every member is a Prime, then the 'main' should print out 'Prime Array using iteration', otherwise print out 'Not a Prime Array using iteration'.
    6. Then make a call to the primary recursive function passing the array and its size.
    7. If every member is a Prime, then the 'main' should print out 'Prime Array using recursion', otherwise print out 'Not a Prime Array using recursion'.
    8. If your functions are coded correctly, both should come up with the same answer, except you should have lots more output statements using recursion.
    9. There is no sample output - you are allowed to provide user interactivity as you see fit but programs will be graded for clarity of interaction.
  3. You should use primitive arrays - DO NOT USE VECTORS, COLLECTIONS, SETS, BAGS or any other data structures from your programming language.
  4. For python programmers - use the Python list like a primitive array, i.e. get the input into the list in a loop and not as a single statement as you will need to perform input validation. Only use append(), count() and index() methods for a Python list.  
  5. There will be only one code file in your submission. Remember to include your name block at the top.
  6. Run your program in the console with the following inputs:
    1. NumInts = 5, Ints = 53 5099 1223 567 17
    2. NumInts = 4, Ints = 1871 8069 3581 6841
  7. Remember to take multiple screenshots of the both the runs so that they are clearly readable without needing to zoom in.
  8. 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.pdf Download Design Tools and Documentation.pdf
  9. Upload your code file and the screenshots in one zip file. Do not include anything else.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
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)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education