STARTING OUT W/C++,...(LL)-W/ACCESS
STARTING OUT W/C++,...(LL)-W/ACCESS
9th Edition
ISBN: 9780134596174
Author: GADDIS
Publisher: PEARSON
bartleby

Concept explainers

Question
Book Icon
Chapter 16, Problem 9PC
Program Plan Intro

Modification of “SearchableVector” class

Program plan:

SimpleVector.h:

  • Include the required header files in the program.
  • Define the template class “SimpleVector”:
    • Declare the required class data members and exception function under “private” access specifier.
    • Declare the required class member functions and class constructor under “public” access specifier.
  • Define the “SimpleVector” function:
    • Get the array size and allocate the memory for corresponding array size
    • If allocation gets fail, then call the “memError()” function.
    • Else initialize the array elements.
  • Define the copy constructor of the “SimpleVector” function:
    • Copy the array size and allocate the memory for corresponding array size
    • If allocation gets fail, then call the “memError()” function.
    • Else copy the array elements.
  • Define the “~SimpleVector” class destructor:
    • Delete the allocated memory for the array.
  • Define the “getElement” function:
    • Get the array subscript and check it is in the array range.
    • If not then call the exception function.
    • Return the subscript.
  • Define the operator overload for “[]” operator
    • Get the array subscript and check it is in the array range.
    • If not then call the exception function.
    • Return the subscript.
  • Define the “push_back()” function:
    • Get the element which is going to insert.
    • Create a new array and allocate the memory for the array which is greater than 1 from an old array.
    • Copy the elements from old array to new array.
    • Insert the new element at the last of the array.
    • Delete the old array and make the pointer points the new array
    • Finally adjust the array size.
  • Define the “pop_back()” function:
    • Save the last element which is going to delete.
    • Create a new array and allocate the memory for the array which is lesser than 1 from an old array.
    • Copy the elements from old array to new array.
    • Delete the old array and make the pointer points the new array
    • Finally adjust the array size.
    • Return the deleted value.

SearchableVector.h:

  • Include the required header files in the program.
  • Define the template class “SearchableVector”, which is derived from the above class template “SimpleVector”:
    • Declare the required class member functions and class constructor under “public” access specifier.
  • Define the copy constructor of the “SearchableVector” function:
    • Call the base class copy constructor for copying the array size and allocate the memory for corresponding array size.
    • Copy the array elements.
  • Define the function “findItem”
    • Declare the required variables in the function.
    • Get the element from the function call.
    • Using while loop
      • Find the middle element of the array.
      • Check the middle element is the searching element.
        • If so, then return the array subscript.
      • Else, check the middle element is greater than the searching element.
        • If so, decrease the last index value.
      • Else, increase the starting index value.
    • If the element is not found, then return -1 as the array subscript.

Main.cpp:

  • Include the required header files in the program.
  • Create an object for the class “SearchableVector” for integer type.
  • Create an object for the class “SearchableVector” for double type.
  • Use for loop to iterate array elements
    • Insert the integer value on integer array.
    • Insert the double value on double array.
  • Using for loop, display an integer array on the output screen.
  • Using for loop, display the double array on the output screen.
  • Call the function “findItem” using the searching element which is integer.
  • Compare the result of the function and display the message according to the condition.
  • Do the same again using double value.

Blurred answer
Students have asked these similar questions
We are considering the RSA encryption scheme. The involved numbers are small, so the communication is insecure.  Alice's public key (n,public_key) is (247,7). A code breaker manages to factories  247 = 13 x 19  Determine Alice's secret key. To solve the problem, you need not use the extended Euclid algorithm, but you may assume that her private key is one of the following numbers 31,35,55,59,77,89.
Consider the following Turing Machine (TM). Does the TM halt if it begins on the empty tape? If it halts, after how many steps? Does the TM halt if it begins on a tape that contains a single letter A followed by blanks? Justify your answer.
Pllleasassseee ssiiirrrr soolveee thissssss questionnnnnnn

Chapter 16 Solutions

STARTING OUT W/C++,...(LL)-W/ACCESS

Ch. 16.4 - Prob. 16.11CPCh. 16 - Prob. 1RQECh. 16 - Prob. 2RQECh. 16 - Prob. 3RQECh. 16 - Prob. 4RQECh. 16 - What is unwinding the stack?Ch. 16 - What happens if an exception is thrown by a classs...Ch. 16 - How do you prevent a program from halting when the...Ch. 16 - Why is it more convenient to write a function...Ch. 16 - Why must you be careful when writing a function...Ch. 16 - The line containing a throw statement is known as...Ch. 16 - Prob. 11RQECh. 16 - Prob. 12RQECh. 16 - Prob. 13RQECh. 16 - The beginning of a template is marked by a(n)...Ch. 16 - Prob. 15RQECh. 16 - Prob. 16RQECh. 16 - Write a function that searches a numeric array for...Ch. 16 - Write a function that dynamically allocates a...Ch. 16 - Make the function you wrote in Question 17 a...Ch. 16 - Write a template for a function that displays the...Ch. 16 - Prob. 21RQECh. 16 - Prob. 22RQECh. 16 - Prob. 23RQECh. 16 - Prob. 24RQECh. 16 - T F All type parameters defined in a function...Ch. 16 - Prob. 26RQECh. 16 - T F A class object passed to a function template...Ch. 16 - Prob. 28RQECh. 16 - Prob. 29RQECh. 16 - Prob. 30RQECh. 16 - Prob. 31RQECh. 16 - T F A class template may not be derived from...Ch. 16 - T F A class template may not be used as a base...Ch. 16 - Prob. 34RQECh. 16 - Prob. 35RQECh. 16 - try { quotient = divide(num1, num2); } cout The...Ch. 16 - template class T T square(T number) { return T T;...Ch. 16 - template class T int square(int number) { return...Ch. 16 - Prob. 39RQECh. 16 - Assume the following definition appears in a...Ch. 16 - Assume the following statement appears in a...Ch. 16 - Prob. 1PCCh. 16 - Prob. 2PCCh. 16 - Prob. 3PCCh. 16 - Prob. 4PCCh. 16 - Prob. 5PCCh. 16 - IntArray Class Exception Chapter 14 presented an...Ch. 16 - TestScores Class Write a class named TestScores....Ch. 16 - Prob. 8PCCh. 16 - Prob. 9PCCh. 16 - SortableVector Class Template Write a class...Ch. 16 - Inheritance Modification Assuming you have...Ch. 16 - Prob. 12PCCh. 16 - Prob. 13PC
Knowledge Booster
Background pattern image
Computer Science
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
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr