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 " 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 " 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 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 ' and 'Leaving 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.

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter15: Recursion
Section: Chapter Questions
Problem 1TF
icon
Related questions
Question

Please IN C++

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

  1. Write two primary helper functions - one iterative (IsArrayPrimeIter) and one recursive (IsArrayPrimeRecur) - each of which
    1. 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. 
    2. Print out a message "Entering <function_name>" as the first executed 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 executed 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. take the integer dividend (number to be checked for prime) and the integer divisor to perform the division, 
      2. return true or false,
      3. not contain any loops to check if a number is prime,
      4. be the most efficient check possible, and
      5. 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'. No other functions are needed, so do not add unnecessary helper functions.
    9. Reminder Note - for all functions except 'main', the 'Entering <function name>' and 'Leaving <function name'> statements should be printed.
    10. Remember: 1 is not a prime number.
    11. Hint - try to complete your iterative code first and then convert it piece by piece to the recursive code.
  2. In your main:
    1. Declare a global integer constant called SORT_MAX_SIZE = 8.
    2. Print a one line message stating exactly "Please enter your input data on one line only."
    3. Then read ONE input line from standard input which will consist of several numbers separated by spaces such that  
      1. The first positive integer number representing the number of elements in the array, followed by
      2. That many positive integer numbers representing the contents of the array to be checked for prime.
      3. You can expect that the user input will be correct as specified here.
    4. Create an array based on the size input provided by the user.
    5. Make a call to the primary iterative function passing the array and its size.
    6. 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'.
    7. Then make a call to the primary recursive function passing the array and its size.
    8. 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'.
    9. If your functions are coded correctly, both should come up with the same answer, except you should have lots more output statements using recursion.
    10. 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.
  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 - you are allowed to get input into a list and only use of append(), count() and index() methods for a Python list if needed.  
  5. There will be only one code file in your submission and it should be called 'lab1.cpp' or 'lab1.java' or 'lab1.py'. 
  6. Run your program twice in the console with the following inputs:
    1. 5 53 5099 1223 567 17
    2. 4 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. Collect all your screenshots into one single PDF called 'lab1.pdf' for easy review.
  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.pdfDownload Design Tools and Documentation.pdf
  9. 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
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 5 images

Blurred answer
Knowledge Booster
Randomized Select Algorithm
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
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning