Concept explainers
(Geometry: Graham’s
/** Return the points that form a convex hull */
public static ArrayList<MyPoint> getConvexHull (double[][] s)
MyPoint is a static inner class defined as follows:
private static class MyPoint implements Comparable<MyPoint> {
double x, y;
MyPoint rightMostLowestPoint;
MyPoint (double x, double y) {
this.x = x; this.y = y;
}
public void setRightMostLowestPoint(MyPoint p) {
rightMostLowestPoint = p;
}
@Override
public int compareTo(MyPoint o) {
// Implement it to compare this point with point o
// angularly along the x-axis with rightMostLowestPoint
// as the center, as shown in Figure 22.10b. By implementing
// the Comparable interface, you can use the Array.sort
// method to sort the points to simplify coding.
}
}
Write a test program that prompts the user to enter the set size and the points, and displays the points that form a convex hull, Here is a sample run:
How many points are in the set? 6
Enter six points: 1 2.4 2.5 2 1.5 34.5 5.5 6 6 2.4 5.5 9
The convex hull is
(1.5, 34.5) (5.5, 9.0) (6.0, 2.4) (2.5, 2.0) (1.0, 2.4)
Want to see the full answer?
Check out a sample textbook solutionChapter 22 Solutions
Introduction to Java Programming and Data Structures, Comprehensive Version (11th Edition)
Additional Engineering Textbook Solutions
Web Development and Design Foundations with HTML5 (8th Edition)
Starting Out with Python (4th Edition)
Problem Solving with C++ (9th Edition)
Software Engineering (10th Edition)
Starting Out with C++: Early Objects (9th Edition)
Starting Out with Java: Early Objects (6th Edition)
- 5. Now examine the for-loops in the above Java program. (assume that we have the have replaced the array with an ArrayList) a) Which ArrayList method should you use to control the for-loop iterations? b) Explain why the first for-loop cannot be controlled by that ArrayList method (but the other two for-loops can). Here is a quick review of how array elements are modified and accessed: 1. public class BasicArray{ 2. public static void main(String[] args) int[] basic = new int[4]; for (int i=0; iarrow_forwardShift Right k Cells (Use Python) Consider an array named source. Write a method/function named shifRight( source, k) that shifts all the elements of the source array to the right by 'k' positions. You must execute the method by passing an array and number of cells to be shifted. After calling the method, print the array to show whether the elements have been shifted properly. Example: source=[10,20,30,40,50,60] shiftRight(source,3) After calling shiftRight(source,3), printing the array should give the output as: [ 0,0,0,10,20,30 ]arrow_forwardQuestion 4 Write Java code for the following: a. Create an Arraylist that can hold Integer objects. b. Check and display whether the Arraylist is empty or not. c. Add an element 50 into the Arraylist. d. Add another element 60 in the position of 0 in the Arraylist. e. Replace the element to 70 in index 1.arrow_forwardvoid mystery2(int list[], int length) { for (int i = 0; i < length - 1; i++) { if (i % 2 == 0) { list[i]++; } else { list[i]--; } }} For each array below, indicate what the array's contents would be after the function were called and passed that array as its parameter. use the following as input. {6, 3} {2, 4, 6} {1, 2, 3, 4} {2, 2, 2, 2, 2} {7, 3, 2, 0, 5, 1}arrow_forwardRotate Right k cells (use python) Consider an array named source. Write a method/function named rotateRight( source, k) that rotates all the elements of the source array to the right by 'k' positions. You must execute the method by passing an array and number of cells to be shifted. After calling the method, print the array to show whether the elements have been shifted properly. Example: source=[10,20,30,40,50,60] rotateRight(source,3) After calling rotateRight(source,3), printing the array should give the output as: [ 40, 50, 60, 10, 20, 30]arrow_forwardgetSumEven Method; public static int getSumEven(int[] array) Returns the sum of even values (if any) present in the array parameter. You can assume array is not null. You may only use one auxiliary function. Your implementation must be recursive and you may not use any loop construct. Do not use ++ or -- in any recursive call argument. It may lead to an infinite recursion. For example, use index + 1, instead of index++. Parameters: array - Returns: Sum of even valuesarrow_forwardProject Description: In this project you implement an ArrayStack ADT and use the stack for implementing the following methods: a) Reverse an array of Words: Accept an array of words as input parameter and return an array of words in reverse order. Use the method signature: public static String[] reverse Words (String[] wordList) Example Input: Bird Cat Dog Elephant Output: Elephant Dog Cat Birdarrow_forward84. Refer to the following method that finds the largest value in an array. /** Precondition: arr is initialized with int values. * @param arr the array to be processed * @return the largest value in arr */ public static int findMax(int[] arr) { int max = /* some value */; 0; int index %3D while (index max) arr[index]; max = index++; return max; } Which replacement(s) for /* some value */ will always result in correct execution of the findMax method? Integer. MIN _VALUE III. I. II. Integer.MAX_VALUE arr[0]arrow_forwardExercise (Array and Method): Write a method called arrayToString(), which takes an int array and return a String in the form of {a1, a2, ..., an}. Take note that there is no comma after the last element. The method's signature is as follows: public static String arrayToString(int[] array) Also write a test driver to test this method (you should test on empty array, one-element array, and n-element array). Notes: This is similar to the built-in function Arrays.toString(). You could study its source code. Exercise (Array and Method): Write a boolean method called contains(), which takes an array of int and an int; and returns true if the array contains the given int. The method's signature is as follows: public static boolean contains(int[] array, int key) Also write a test driver to test this method. Exercise (Array and Method): Write a method called search(), which takes an array of int and an int; and returns the array index if the array contains the given int; or -1 otherwise. The…arrow_forward/* Rack.java by Craig Persiko Starter file for Exercise for Chapter 13 in CS 111B This class stores an ArrayList of Tile objects, sorts them, and returns them via .toString() DO NOT CHANGE THE FOLLOWING CODE. YOUR JOB IS TO ADD THE FOLLOWING METHODS: .toString() .sortHighToLow() You may also add any helper methods you want, such as swapValues. Make sure to write the Selection Sort algorithm like in the class example, but using the Tile object's .compareTo method. You can copy my code from my example, and then change it to fit your program. Note that we want to sort Tiles from highest value to lowest (the opposite order from our example.)*/ import java.util.ArrayList; class Rack{ private ArrayList<Tile> tiles; public Rack() { tiles = new ArrayList<Tile>(); } public void addTile(Tile t) { tiles.add(t); } /* DO NOT CHANGE THE ABOVE CODE. YOUR JOB IS TO ADD THE FOLLOWING METHODS: .toString() .sortHighToLow() You…arrow_forwardJava question: A program that simulates a Bingo game declares an array of BingoCard. BingoCard[] players = new BingoCard[10]; //assuming no error occurs Why does a for-loop correctly constructs each BingoCard, whereas a for-each loop does not? for (BingoCard card : players) card = new BingoCard(); //I am thinking: "for each element of players, instantiate a new BingoCard object" for (int i=0;i<players.length;i++) players[i] = new BingoCard(); //I think for-loop also does the same thing.arrow_forwardLanguage/Type: Java arrays Write a method named collapse that accepts an array of integers as a parameter and returns a new array where each pair of integers from the original array has been replaced by the sum of that pair. For example, if an array called a stores {7, 2, 8, 9, 4, 13, 7, 1, 9, 10), then the call of collapse (a) should return a new array containing {9, 17, 17, 8, 19). The first pair from the original list is collapsed into 9 (7+2), the second pair is collapsed into 17 (8 + 9), and so on. If the list stores an odd number of elements, the final element is not collapsed. For example, if the array had been {1, 2, 3, 4, 5}, then the call would return {3, 7, 5}. Your method should not change the array that is passed as a parameter.arrow_forwardarrow_back_iosSEE MORE QUESTIONSarrow_forward_ios
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education