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;
}