Exercises 9.2

1.   number[0] = 0

   number[1] = 0

   number[2] = 1

   number[3] = 1

   number[4] = 2

 

2.   number[0] = 0

   number[1] = 33

   number[2] = 4

   number[3] = 88

   number[4] = 16

   number[5] = 0

   number[6] = 33

   number[7] = 4

   number[8] = 88

 

3.   value[0] = 0.0

   value[1] = 0.0

   value[2] = 0.0

   value[3] = 1.0

   value[4] = 1.0

 

4.   value[0] = 0.5

   value[1] = 5.0

   value[2] = 1.5

   value[3] = 15.0

   value[4] = 0.0

 

5.   large[0] = 0.0

   large[1] = 1.0

   large[2] = 2.0

   large[3] = 0.0

   large[4] = 4.0

   large[5] = 5.0

   large[6] = 0.0

   large[7] = 7.0

   large[8] = 8.0

   large[9] = 0.0

   large[10] = 10.0

   large[11] = 11.0

   large[12] = 0.0

   large[13] = 13.0

   large[14] = 14.0

   large[15] = 0.0

   large[16] = 16.0

   large[17] = 17.0

   large[18] = 0.0

   large[19] = 19.0

 

6.   number[0] = 1

   number[1] = 33

   number[2] = 66

   number[3] = 132

   number[4] = 264

   number[5] = 528

   number[6] = 1056

   number[7] = 2112

   number[8] = 4224

 

 

7.   number[0] = 99

   number[1] = 33

   number[2] = 44

   number[3] = 88

   number[4] = 22

   number[5] = 11

   number[6] = 55

   number[7] = 66

 

 

8.  int [] array = new int [10];

  

9.  double [] array = new double [11];

  

10. int [] array = new int [10];

 

11. String array [] = new String [5];

 

12. char array [] = {'a','e','i','o','u'};

 

13. boolean array[] = new boolean [100];

  

14. int [] array = new int [100];

    for (int i = 0; i < 100; i++)

         array[i] = i;

 

15. int [] array = new int [100];

    for (int i = 0; i < 100; i++)

         array[i] = 99 - i;  

 

16.   boolean [] array =  new boolean [50];

    for (int i = 0; i < 50; i++)

      array[i] = (i % 2 == 0);

 


17.

 /** printDoubleArray() outputs n double values stored in a double array x.

  *  Receive: n, x

  *  Output:  the n doubles

  */

 public static void printDoubleArray(double [] x, int n)

 {

   Screen theScreen = new Screen();

   Keyboard theKeyboard = new Keyboard();

 

   for (int i = 0; i < n; i++)

          theScreen.println("array[" + i + "] = " + x[i]);

 }

 

18.

 /** minElement finds the least of n values stored in a double array x.

  *

  * Receive: x, n

  * Return:  least value in x

  */

 public static double minElement(double [] x, int n)

 {

   double min = x[0];

   for (int i = 1; i < n; i++)

      if (x[i] < min)

         min = x[i];

 

   return min;

 }

 

19.

 /** maxElement finds the largest of n values stored in a double array x.

  *

  * Receive: x, n

  * Return:  largest value in x

  */

 

  public static double maxElement(double [] x, int n)

  {

   double max = x[0];

   for (int i = 1; i < n; i++)

      if (x[i] > max)

         max = x[i];

 

   return max;

  }

 

20.

 /** range finds the range of n values stored in a double array x.

  *

  * Receive: x, n

  * Return:  range of values in x

  * Uses:    methods minElement() and maxElement() of Exer. 18 & 19.

  */


 public static double range(double [] x, int n)

 {

   return maxElement(x, n) - minElement(x,n);

 }

 

or

 

 public static double range(double [] x, int n)

 {

   double least = x[0],

          greatest = x[0];

   for (int i = 1; i < intArray.length; i++)

   {

    if (x[i] > greatest)

      greatest = intArray[i];

    if (x[i] < least)

      least = intArray[i];

   }

   return greatest - least;

 }

 

 

21.

/** isAscending determines if the n values stored in a double

 * array x are in ascending order.

 *

 * Receive: x, n

 * Return:  true if values stored in x are in ascending

 *          order, false otherwise

 */

 

public static boolean isAscending(double [] x, int n)

{

  for (int i = 0; i < n - 1; i++)

    if (x[i] > x[i+1])

      return false;

 

  return true;

}

 

22.

 /** insert inserts an item at a specified location loc in

  * the n values stored in a double array x .

  *

  * Receive:       x, n, item, loc

  * Return:        true if item can be inserted; false if not

  * Postcondition: item is inserted in x at location loc (if possible)

  */

 

 public static boolean insert(double [] x, int n, double item, int loc)

 {

  if (n == x.length)

  {

    System.err.println("\n*** Insert fails -- array is full.");

    return false;

  }

 

  if (loc < 0 || loc > n)

  {

    System.err.println("\n*** Insert fails -- invalid location received: "

                     + loc);

    return false;

   }

 

   // Shift array elements right to make room

   n++;

   for (int i = n; i > loc; i--)

     x[i] = x[i-1];

 

   x[loc] = item;

   return true;

 }

 

23.

 /** delete removes an item at a specified location loc from

  * the n values stored in a double array x.

  *

  * Receive:       x, n, loc

  * Return:        true if item can be removed; false if not

  * Postcondition: item at location loc is removed from x (if possible)

  */

 

 public static boolean delete (double[] x, int n, int loc)

 {

   if (loc < 0 || loc >= n)

   {

     System.err.println("\n*** Delete fails -- invalid location received: "

                        + loc);

     return false;

   }

   // Shift array elements left to close gap

   for (int i = loc; i < n - 1; i++)

     x[i] = x[i+1];

   return true;

 }