STARTING OUT WITH C++ MPL
STARTING OUT WITH C++ MPL
9th Edition
ISBN: 9780136673989
Author: GADDIS
Publisher: PEARSON
bartleby

Concept explainers

Question
Book Icon
Chapter 16, Problem 8PC
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
Write the following in C# WinForms. Implement a function in the main menu that makes the poacher move to random direction. The movement should seem seamless. The poacher can be drew by the following in the main menu.                 e.Graphics.DrawImage(poacherImage, poacher.X, poacherY, tileSize, tileSize);  Create the appropriate poacher class as well
Write the following in C# WinForms. Implement a function in the main menu that makes the poacher move to random direction. The movement should seem seamless. The poacher can be drew by the following in the main menu.                 e.Graphics.DrawImage(poacherImage, poacher.X, poacherY, tileSize, tileSize);
Write the following in C# WinForms. Implement a function in the main menu that makes the poacher move to random directions. The movement should seem seamless. The poacher can be drew by the following in the main menu.                  e.Graphics.DrawImage(poacherImage, poacher.X, poacherY, tileSize, tileSize);

Chapter 16 Solutions

STARTING OUT WITH C++ MPL

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
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
Text book image
Microsoft Visual C#
Computer Science
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Cengage Learning,
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
New Perspectives on HTML5, CSS3, and JavaScript
Computer Science
ISBN:9781305503922
Author:Patrick M. Carey
Publisher:Cengage Learning