# Help with code dealing with parallel arrays.

• November 13th, 2011, 01:17 PM
danielp1213
Help with code dealing with parallel arrays.
Hey I need some help with the code! specifically with the perimeter and area methods.

I am not sure how to implement them or what code i need o fill in.
For the perimeter I think I need to go from each point in the array to calculate the perimeter
but i am not sure how to do that.
I am thinking I need a loop so that it will add each point in the array.

For the area there is a formula for the area of a polygon. Correct me if I am wrong.
I am not sure what to do for the area method.

Any help would be greatly appreciated.

Code :

```/** * Polygon1 models a polygon with parallel arrays. */ public class Polygon1 { private double[] x; private double[] y;   // construct the polygon public Polygon1( double[] x, double[] y ) { this.x = new double[ x.length ]; this.y = new double[ y.length ]; // assumes x.length == y.length, could be a problem for( int i = 0 ; i < x.length; i++ ) { this.x[i] = x[i]; this.y[i] = y[i]; } }   /** * calculates the distance between point at index i * and the point at index j. * * [ Why is this method private? ] * * @return distance between points */ private double distance( int i, int j ) { return Math.hypot( x[i] - x[j], y[i] - y[j] ); }   public double perimeter() {   }   public double area() {   }   public static void main( String[] args ) { double sq_x[] = { 0.0, 1.0, 1.0, 0.0 }; double sq_y[] = { 0.0, 0.0, 1.0, 1.0 };   Polygon1 sq = new Polygon1( sq_x, sq_y ); System.out.println( "square perimeter: " + sq.perimeter() ); System.out.println( "square area: " + sq.area() ); System.out.println();   double rect_x[] = { 0.0, 2.0, 2.0, 0.0 }; double rect_y[] = { 0.0, 0.0, 1.0, 1.0 };   Polygon1 rect = new Polygon1( rect_x, rect_y ); System.out.println( "rectangle perimeter: " + rect.perimeter() ); System.out.println( "rectangle area: " + rect.area() ); System.out.println();   // same rectangle as about, but with extra points double rect1_x[] = { 0.0, 1.0, 2.0, 2.0, 1.0, 0.0 }; double rect1_y[] = { 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 };   Polygon1 rect1 = new Polygon1( rect1_x, rect1_y ); System.out.println( "rectangle perimeter: " + rect1.perimeter() ); System.out.println( "rectangle area: " + rect1.area() ); System.out.println();   // lshape polygon double lshape_x[] = { 0.0, 2.0, 2.0, 1.0, 1.0, 0.0 }; double lshape_y[] = { 0.0, 0.0, 1.0, 1.0, 2.0, 2.0 };   Polygon1 lshape = new Polygon1( lshape_x, lshape_y ); System.out.println( "lshape perimeter: " + lshape.perimeter() ); System.out.println( "lshape area: " + lshape.area() ); System.out.println();   double rt_x[] = { 0.0, 1.0, 0.0 }; double rt_y[] = { 0.0, 0.0, 1.0 };   Polygon1 rt = new Polygon1( rt_x, rt_y ); System.out.println( "rt perimeter: " + rt.perimeter() ); System.out.println( "rt area: " + rt.area() ); System.out.println();   // regular hexagon final double a = 0.5; final double b = Math.sqrt( 1.0 - (0.5*0.5) ); double hex_x[] = { 1.0, a, -a, -1.0, -a, a}; double hex_y[] = { 0.0, b, b, 0.0, -b, -b};   Polygon1 hex = new Polygon1( hex_x, hex_y ); System.out.println( "hex perimeter: " + hex.perimeter() ); System.out.println( "hex area: " + hex.area() );   } }```
• November 13th, 2011, 02:43 PM
Norm
Re: Help with code dealing with parallel arrays.
Is this an algorithm problem
or a coding problem (you have the algorithm and need help coding it)?

For algorithm help have you tried google?

Quote:

need to go from each point in the array
Do you know how to index through an array? Or is there some other problem.
• November 13th, 2011, 03:13 PM
danielp1213
Re: Help with code dealing with parallel arrays.
I think I just need to go from point to point. x[1] to x[2] using a loop i think. I don't know how to code it.
If there is an algorithm could you show that as well?

Thanks
• November 13th, 2011, 03:19 PM
Norm
Re: Help with code dealing with parallel arrays.
You could use the index of a for loop to go from x[0] to x[1] etc
Go to this site and Find 'for statement': Trail: Learning the Java Language: Table of Contents (The Java™ Tutorials)

What is the problem you need an algorithm for?
• November 13th, 2011, 06:29 PM
danielp1213
Re: Help with code dealing with parallel arrays.
I know how to do the for loop but there are both x and y values so I am a little
confused on how to code it. Could you provide an example?

by x and y i mean two separate arrays.
• November 13th, 2011, 06:43 PM
Norm
Re: Help with code dealing with parallel arrays.
Using parallel arrays means the data in all the arrays at a certain index is related.
For your case of points on a 2Dim graph, one array has the x value and one array has the y value.
For the nth point say at index n, the point's x value is xVal[n] and its y value is yVal[n].