Problem Solving with C++ (10th Edition)
10th Edition
ISBN: 9780134521176
Author: SAVITCH
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Question
Chapter 13, Problem 9PP
Program Plan Intro
Creation of program to construct classes to implement maze
Program Plan:
- Define a class “Room” to define properties and methods.
- Define constructors to create new instance.
- Define a method “get_name()” to get name.
- Define a method “get_adjacent_room()” to get adjacent room.
- Define a method “link_room()” to assign value based on direction.
- Define a method “get_available_directions()” to get available directions.
- Define a main method.
- Create new room instance using class.
- Define connections in maze using “link_room()”.
- Call method “get_available_directions()” to get available directions.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
Programming in Java.
What would the difference be in the node classes for a singly linked list, doubly linked list, and a circular linked list? I attached the node classes I have for single and double, but I feel like I do not change enough? Also, I use identical classes for singular and circular node which does not feel right. Any help would be appreciated.
Given an JavaScript object list of books that each have a pages attribute to define the number of pages in the book, find the sum of all the pages in the object list of books using recursion.
Keep in mind:
The input list object may be completely empty (ex. {})
The next attribute may not be defined
function getPageCount(list) {// your code here// returns an integer}Example test case:Input: {"book":"A","pages":1,"next":{"book":"B","pages":2,"next":{"book":"C","pages":3,"next": null}}}Output: 6Reasoning: 1 + 2 + 3 pages
Write a program that draws a fixed polygonwith points at (30, 10), (60, 30), (50, 70), (35, 35), and (10, 50). Wheneverthe mouse is moved, display a message indicating whether the mousepoint is inside the polygon at the mouse point or outside of it, as shown inFigure. To detect whether a point is inside a polygon, use the containsmethod defined in the Node class.
Chapter 13 Solutions
Problem Solving with C++ (10th Edition)
Ch. 13.1 - Suppose your program contains the following type...Ch. 13.1 - Suppose that your program contains the type...Ch. 13.1 - Prob. 3STECh. 13.1 - Prob. 4STECh. 13.1 - Prob. 5STECh. 13.1 - Prob. 6STECh. 13.1 - Prob. 7STECh. 13.1 - Suppose your program contains type definitions and...Ch. 13.1 - Prob. 9STECh. 13.2 - Prob. 10STE
Ch. 13.2 - Prob. 11STECh. 13.2 - Prob. 12STECh. 13.2 - Prob. 13STECh. 13 - The following program creates a linked list with...Ch. 13 - Re-do Practice Program 1, but instead of a struct,...Ch. 13 - Write a void function that takes a linked list of...Ch. 13 - Write a function called mergeLists that takes two...Ch. 13 - In this project you will redo Programming Project...Ch. 13 - A harder version of Programming Project 4 would be...Ch. 13 - Prob. 6PPCh. 13 - Prob. 8PPCh. 13 - Prob. 9PPCh. 13 - Prob. 10PP
Knowledge Booster
Similar questions
- Please implement in Java implement a keyed bag in which the items to be stored are strings (perhaps people’s names) and the keys are numbers (perhaps Social Security or other identification numbers). So, the in- sertion method has this specification: public void insert(String entry, int key);// Precondition: size( ) < CAPACITY, and the // bag does not yet contain any item// with the given key.// Postcondition: A new copy of entry has// been added to the bag, with the given key. When the programmer wants to remove or retrieve an item from a keyed bag, the key of the item must be specified rather than the item itself. The keyed bag should also have a boolean method that can be used to determine whether the bag has an item with a specified key. In a keyed bag, the pro- grammer using the class specifies a particular key when an item is inserted. Here’s an implementation idea: A keyed bag can have two private arrays, one that holds the string data and one that holds the corresponding…arrow_forwardImplement an ADT that can used as a Tic-Tac-Toe game board. Your ADT will implement the interfacegiven below. In the main method also include a simple usage example.Here are the rules of N x N Tic-Tac-Toe game:• Players take turns placing characters into empty squares (" ").• The first player A always places "X" characters, while the second player B always places "O" characters.• "X" and "O" characters are always placed into empty squares, never on filled ones.• The game ends when there are N of the same (non-empty) character filling any row, column, or diagonal.• The game also ends if all squares are non-empty.• No more moves can be played if the game is over Must be outputted in the console not with gui.arrow_forwardwrite a java program that outputs a walk, trail, path, closed walk, circuit, and cycle of a given directed graph matrix. That matrix is to be hard coded as such... There are 4 vertices in this directed graph. We know that because there are 4 rows and 4 columns. If there is a 1 that means that the vertex on the left (you need to name them) has an arrow edge towards the vertex on the top. If there is a 2 that means there are two directed edges in the same direction going from the left vertex to the vertex on the top. If there is a 0 that means there are no edges from the vertex on the left to the top vertex. 1 2 2 1 2 1 2 1 2 2 1 2 1 1 1 0 - Make sure to program the matrix in to your code. - Output an example of each, make sure they are labeled. (6 outputs ) Example of a directed graph matrix below. The red numbers around the matrix are the vertices. If there is a 0 it means there is no edge from the vertex on the right to the vertex on the top.arrow_forward
- One way to define a transportation system is with a set of sequences of vertices, each sequence defining a path connecting the vertices. For example, the sequence 0-9-3-2 defines the edges 0-9, 9-3, and 3-2. Write a EuclideanGraph client RandomTransportation that builds a graph from an input file consisting of one sequence per line, using symbolic names. Develop input suitable to allow you to use your program to build a graph corresponding to the Paris Métro system.arrow_forwardWrite a program to build a calculator. Instead of a typical calculator which reads in-order expressions and evaluates them, build a calculator that takes in numbers and assigns the operations to yield the highest value expression. The current operations on the calculator only handle pairs of parentheses, and the operators for addition, subtraction, multiplication, and division. The calculator can rearrange the numbers if it helps find the optimal value. For example, the list:4.0 5.0 3.0 2.0 1.0using the calculator should find the optimal expression yielding the maximum value to be:4.0 * 5.0 * 3.0 * (2.0 + 1.0) = 180Input from the keyboard a list of up to 10 floating-point values from-100000.0to100000.0. Output to the screen a single floating-point value rounded to two decimal places representing the highest value expression that the calculator could create by inserting the symbols( ) + - * /into the given expression. Assume at least one number in the list and only the operators listed…arrow_forwardPLEASE SOLVE IN JAVA. I can only fit the entire problem by having the driver code as an image but since there's a picture limit also I had to trim the output so it would nearly fit. THANK YOU IN ADVANCE public class DoublyLinkedList<E>{// define ListNode elements specific for this type of list, indicating current, previous and next// consider head as name for previous node, and tail for the next one.private ListNode<E> head;private ListNode<E> current;private ListNode<E> tail; // default constructorpublic DoublyLinkedList(){//*** Task #1: implement a default constructor here, initializing the nodes to null } // method that calculates the length of the listpublic int length(){//*** Task #2: implement the method navigating through the list until you run out of elements } // method that adds a node at the beginning of the listpublic void addANodeToStart(E addData){//*** Task #3: implement this method, taking into consideration that the head will be replaced by…arrow_forward
- Write a program in C that simulates a checkout line at a supermarket. The line is a queue object. Customers (i.e.,customer objects) arrive in random integer intervals of 1–4 minutes. Also, each customer is served in randominteger intervals of 1–4 minutes. Obviously, the rates need to be balanced. If the average arrival rate is largerthan the average service rate, the queue will grow infinitely. Even with “balanced” rates, randomness can stillcause long lines. Run the supermarket simulation for a 12-hours a day (720 minutes) using the followingalgorithm:1. Choose a random integer from 1 to 4 to determine the minute at which the first customer arrives.2. At the first customer’s arrival time: Determine customer’s service time (random integer from 1 to 4);Begin servicing the customer. Schedule arrival time of next customer (random integer 1 to 4 added to the current time).3. For each minute of the day: If the next customer arrives, Say so, Enqueue the customer.Schedule the arrival time of…arrow_forwardConsider the Person class in Problem 1. Implement the interface PersonPriorityQueueInterface provided in the assignment. In your implementation, you must use an instance of AList (which you used in Problem 1) to store the list of persons. We consider that a person whose age is higher than a second person also has a higher priority. Thus, the method peek(), for example, should return the person who is the oldest in the list. Your implementation should be O(n) for add, and O(1) for the remaining methods. Consider the Person class in Problem 1. Implement the interface PersonPriorityQueueInterface provided in the assignment. In your implementation, you must use an instance of AList (which you used in Problem 1) to store the list of persons. We consider that a person whose age is higher than a second person also has a higher priority. Thus, the method peek(), for example, should return the person who is the oldest in the list. Your implementation should be O(n) for add, and O(1)…arrow_forwardApply the methods in the ListIterator interface to write a Java program in NetBeans that creates a LinkedList of four elements of type string, namely: Java, C#, PHP and Python.The program should then print out the elements initially in the original order, and then afterwards in reverse order using the ListIterator methods. In this case, the following is the expected output: Run: original order of strings: Java C# PHP Python Reverse order of strings: Python PHP C#Java BUILD SUCCESSFULarrow_forward
- Apply the methods in the ListIterator interface to write a Java program in NetBeans that creates a LinkedList of four elements of type string, namely: Java, C#, PHP and Python. The program should then print out the elements initially in the original order, and then afterwards in reverse order using the ListIterator methods. In this case, the following is the expected output:arrow_forwardWrite a program in Java to implement a Singly linked list with two fields: String name and Integer Age. a) Then, Program ask user to enter name and age of a student, and add the node in the link list b) Store name and age of 5 students c) Then, traverse the link List to print all the nodesarrow_forwardUSING THE C LANGUAGE, NOT JAVA OR C++ Given the graph above represented by a CSV file. Each line contains two nodes and the weight between that two nodes; each information is separated by a comma. Implement a Create_Graph method that reads from an input CSV file as described above and returns a graph representation of your choice. For the graph above, the following lines are in the CSV file: A, B, 8 A, C, 22 B, D, 15 B, C, 7 C, D, 18 Implement a Display method that take a graph representation as input and shows the adjacent matrix associated with weights. Implement a Shortest_Distance method that takes a graph representation and a node name as inputs. The method will return the shortest distance from the input node to all other nodes. If the input node is A then the method will generate the output which has information as below: Note: you have to use Dijkstra’s Algorithm in your solution.arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning